It's been working for ages and stopped. I must be missing something obvious so figured stack overflow might be able to help.
/etc/php5/apache2/php.ini relevant settings are:
display_errors = On (not sure if this makes a difference)
log_errors = On
error_log = "/var/www/error_log.log"
In my code I have:
echo 'About to log';
error_log('An error');
I see About to log on the page, but nothing in the error log. Any ideas?
Did you restart the Web server? Until you do php.ini
changes are not considered.
Also, if you want to track PHP errors, you need to have track_errors=On
and error_reporting=E_ALL
, although that is not related with error_log
calls. Also make sure that the error log file is writeable by the Web server user.
It ended up being permission issues. The file grew too big to open quickly, so I deleted and recreated it, but with read only permissions.
Totally forgot I deleted it, what a pain.
In my php.ini file (Xampp default), there was a second entry for error_log
overriding the one that I had set.
So if the other answers do not work for you too, search again for multiple entries of the necessary settings.
来源:https://stackoverflow.com/questions/5072987/php-error-log-not-working