Я не знаю, есть ли? но встроенный в веб-сервер php также сохраняет свои журналы ошибок в файле? для хвостовых целей, например, при создании виртуального хоста в apache.
ОБНОВЛЕНИЕ: я использую Mac OSX
Да, PHP имеет встроенную функциональность журнала ошибок.
PHP автоматически регистрирует ошибки в этом файле.
Если вы хотите регистрировать ошибки, используйте функцию журнал ошибок()
Расположение файла меняется в зависимости от среды.
например
в Ubuntu 12.04 его
var/log/php_errors.log
В окнах XAMPP
\xampp\php\logs\php_errors.log
В Mac OS
/var/log/apache2/php_errors.log
По умолчанию встроенный веб-сервер нигде не регистрируется, поэтому для его настройки необходимо предоставить php.ini. Например, если вы создали файл php.ini с таким содержимым:
error_log = /Users/me/test.log
log_errors = on
date.timezone = UTC
Затем вы можете запустить встроенный веб-сервер PHP следующим образом:
php -S 127.0.0.1:8080 -c php.ini
И вызовы error_log () будут записаны в указанный вами файл.
При использовании встроенного сервера PHP в macOS необходимо указать error_log
в вашем php.ini
файл конфигурации (php -i | grep php.ini
).
Если вы решили с syslog
(вместо файла журнала), например:
error_log = syslog
Затем, чтобы сбросить логи, вы можете использовать log
команда на macOS, например
log stream --predicate 'processImagePath contains "php"'
В противном случае используйте определенный путь к файлу для журнала ошибок (например, /usr/local/var/log/php-error.log
).
Обновить для Mac OS X High Sierra (10.13.5): это сработало для меня без необходимости изменять какие-либо настройки по умолчанию PHP. Просто используйте
error_log('*** notice this***');
и следите за журналом ошибок:
tail -f /var/log/apache2/error_log
Если вы используете Mac OS или Ubuntu, вы можете легко просмотреть журнал ошибок.
tail -f /var/log/apache2/error_log
это даст вам журнал ошибок в реальном времени или вы можете использовать, что даст последние журналы ошибок
tail /var/log/apache2/error_log