Check to see that your host hasn't disabled the ability to control the error-reporting capabilities of PHP. Take this code:
Code:
<?php
define('DIR_FS_LOGS', 'c:/xampp/htdocs/test/logs');
$debug_logfile_path = DIR_FS_LOGS . '/myDEBUG-' . time() . '-' . mt_rand(1000,999999) . '.log';
/**
* Error reporting level to log
* Default: E_ALL ^E_NOTICE
*/
$errors_to_log = (version_compare(PHP_VERSION, 5.3, '>=') ? E_ALL & ~E_DEPRECATED & ~E_NOTICE : version_compare(PHP_VERSION, 5.4, '>=') ? E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT : E_ALL & ~E_NOTICE);
///// DO NOT EDIT BELOW THIS LINE /////
//////////////////// DEBUG HANDLING //////////////////////////////////
ini_set('log_errors', '1'); // store to file
ini_set('log_errors_max_len', '0'); // unlimited length of message output
ini_set('display_errors', '0'); // do not output errors to screen/browser/client
ini_set('error_log', $debug_logfile_path); // the filename to log errors into
ini_set('error_reporting', -1 ); // log only errors according to defined rules
error_log ('did this get there?');
echo 'log_errors: ' . ini_get ('log_errors') . "\n";
echo 'log_errors_max_len: ' . ini_get ('log_errors_max_len') . "\n";
echo 'display_errors: ' . ini_get ('display_errors') . "\n";
echo 'error_log: ' . ini_get ('error_log') . "\n";
echo 'error_reporting: ' . ini_get ('error_reporting');
Change the file-system path to that specified in your /includes/configure.php and save the file as some_special_filename.php in the root directory of your store. Navigate your browser to www.example.com/some_special_filename.php and make sure that the 'error_log" value displayed is the filepath that was set. Make sure to erase the file once you've run the test.
If the error_log directory doesn't match the DIR_FS_LOGS path, you should contact your webhost and ask them why they are preventing you from changing the error-reporting directives.
Bookmarks