Программно найти файл журнала ошибок PHP

Я знаю, что файл журнала 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()

к сожалению, он выводит, а не возвращает нужную вам информацию, но на этой странице довольно много людей представили примеры извлечения вывода