Я знаю, что файл журнала PHP находится в /var/log/nginx/error.log
для моего личного окна, но мне интересно прагматично выяснить, где находится файл журнала ошибок.
Я пытался:
ini_get('error_log');
Но мой php ini не указывает error_log, поэтому он пуст. И так как apache / ngnix хранят разные места, есть ли способ узнать, где записываются ошибки? Я не против использовать exec()
для запуска команды для ее получения, но
php -i | grep error_log
Возвращает
error_log => no value => no value
Для моей настройки
Чтобы найти файл журнала ошибок для командной строки PHP, используйте:
php -i | grep error_log
Чтобы найти файл журнала ошибок для веб-сервера – используйте встроенную функцию:
phpinfo();
Помните, что:
строка error_log
Имя файла, в котором должны записываться ошибки скрипта. Файл должен быть доступен для записи пользователем веб-сервера. Если используется специальное значение syslog, ошибки отправляются в системный журнал. В Unix это означает syslog (3), а в Windows NT это означает журнал событий. Системный регистратор не поддерживается в Windows 95. См. Также: syslog (). Если эта директива не установлена, ошибки отправляются в журнал ошибок SAPI. Например, это журнал ошибок в Apache или stderr в CLI. См. Также error_log ().
Поэтому, когда вы получаете error_log => no value => no value
это означает, что будет использоваться журнал для Apache / ngnix – как в вашей конфигурации.
Вы можете найти дополнительную информацию об установке error_log
php.ini
здесь
Вам нужна phpinfo()
к сожалению, он выводит, а не возвращает нужную вам информацию, но на этой странице довольно много людей представили примеры извлечения вывода