4. What we have today to discuss Hosting environment worries First install steps Magic php.ini This very helpful .htaccess file We all like settings.php Strange unbelievable error messages or Let find more Troubles and more Problems and Ways how to fix them.
8. mysql -h DBSERVER -p -u username dbname > dbname.sql Usemysql.cnffile to run easier #--------------- [client] user = myuser password = mypass host = DBSERVER [mysql] database = dbname #------------- mysql< dbname.sql
9. Log Files It's good to know what we have on hosting server and especially where Log files are. To access the files directly on the server, on some Unix shells, you can type the following command: tail -f /var/log/apache2/error.log To check that you are looking at the right file, you may wish to type the following commands to find where the log files are. grep 'ErrorLog' /etc/apache2/* grep 'ErrorLog' /etc/apache2/*/*
10. Error Reporting If error reporting is turned off, you could be getting a fatal error but not seeing it. On a production site, it is common to have error reporting turned off. Take care to have in index.php:error_reporting(E_ALL);ini_set('display_errors', TRUE);ini_set('display_startup_errors', TRUE); this will help in debug/test mode
11. Install and Go Create Database … and enjoy easy installation If some php settings are not in properly state, install process will tell you (about register_globals, mbstring.http_output, safe_mode, etc.)
12. php.ini magician How to override php settings: value of a configuration option in php.ini .htaccess directives using ini_set() in settings.php or use control panel on your hosting server or call to admin person or change hosting server
13. Another way to override If you have access to php.ini it’s AWESOME, and It’s great if you have your own php.ini near by www On some hosting servers such kind of option is used to enable using local php.ini file: ssuPHP_ConfigPath /hsphere/local/home/sitelocation This setting must be located in .htaccess file And php.ini file must exists in /hsphere/local/home/sitelocation/php.ini
14. Allowed memory size … Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)... Increase PHP's memory limit, up to 16MB or 24M or 32MB or especially 96MB for a site with built-in image processing using ImageAPI GD memory_limit = 16M in your php.ini file. or php_valuememory_limit 16Min your .htaccessfile or ini_set('memory_limit', '16M'); in your settings.php file ???
15. Execution time of 30s exceeded “Fatal error: Maximum execution time of 30 seconds exceeded in ….ncludesatabase.mysql.inc on line XXX” The default PHP timeout defined in php.ini is 30 seconds. This is too short for some activities like listing/enabling modules. max_execution_time 120; (php.ini) php_valuemax_execution_time 120 (.htaccess) ini_set(‘max_execution_time’, ‘120’) (settings.php) Set “max_execution_time “ = 3000 and Enjoy (is very useful in testing stage)
20. Do not miss it, going from dev-server to production-serverTake care about file permission and $db_url and $update_free_access Don’t forget, if you have $db_prefix, you should use {table} in SQL query build
24. admin/build/themes on slow hostingTo fix this issue: call drupal_flush_all_caches(); anywhere
25. Disabling Modules Via the Module Administration Page in the UI Administer > Site Building > Modules … Uncheck and Save Via the Database If your WSOD is caused by a specific module and you cannot access the module admin page, go to system table, set status to 0 and then clear the cache table
26. You should have cron There are many ways to configure cron (curl, lynx, wget, even GET), but … Here is real “drupal” way: Change file permission for scripts/drupal.sh (chmoda+x scripts/drupal.sh) Use in crontab file (or in Hosting Control Panel) this command: /home/account/www/scripts/drupal.sh --root /home/account/www http://default/cron.php PS. Cron is used by many modules: Update, Event, Aggregator, Search, Notifications, Send, Image watermark, Watchdog and other which must run time-related tasks.
29. JavaScript/AJAX/XMLHttpRequest errorsThese actions would be great to do before/during/after deployment: TRUNCATE TABLE watchdog; drupal_flush_all_caches(); or “Clear Cached Data” "Rebuild Permissions" in Post Settings page “Re-Index site”
30. Think at first || rapid development Masquarade module Transliteration Devel/Themer module Drush module “TEASER break” button in rich editor an Node-System Use professional IDE