Добавить URL в журнал ошибок (Wordpress, Nginx, PHP7) - PullRequest
0 голосов
/ 06 сентября 2018

Я хотел бы добавить URL для каждой ошибки, зарегистрированной PHP и Nginx. Поскольку журнал ошибок дает мне соответствующий сценарий, один и тот же сценарий используется для множества разных URL-адресов, имеющих разные источники данных (удаленные API).

Я считаю, что эта ошибка происходит из-за определенных данных из удаленного API. Наличие URL-адреса ошибки (просмотренного пользователем) поможет мне определить соответствующий источник данных.

Nginx

Журнал ошибок Nginx включен, но он просто регистрирует ошибки, связанные с Nginx (журналы Google Pagespeed). Это странно, так как на многих других серверах журнал Nginx содержит ошибки Nginx И PHP. ( источник формата журнала )

nginx.conf
log_format main '$http_x_forwarded_for - $remote_user [$time_local] '
'"$request_method $scheme://$host$request_uri $server_protocol" '
'$status $body_bytes_sent "$http_referer" ["$host" - "$request"]'
'"$http_user_agent" $request_time';

PHP

Как уже говорилось, журнал PHP содержит ошибки PHP, но nginx log_format к этому не относится.

php.ini
error_log = /var/log/php-errors.log

www.conf //I've never changed this on any server to manage logs
;php_flag[display_errors] = off
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = on

* Wordpress 1022 *

Включение журнала отладки Wordpress, по-видимому, прекращает вывод ошибок в журнал ошибок PHP. Я обычно отключаю это, поскольку Nginx содержит все ошибки, отформатированные для моих нужд.

wp-config.php
define('WP_DEBUG', true);
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', true );

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

Обычно:

  • Мой журнал nginx содержит журналы PHP и Nginx, поэтому я могу управлять log_format из файлов конфигурации nginx.

Спасибо заранее.

1 Ответ

0 голосов
/ 06 сентября 2018

@ неправильный комментарий помог мне исправить это.

Комментирование error_log = /var/log/php-errors.log в моем php.ini исправило проблему.

Как указано в документации , которую @misorude говорит:

Если эта директива не задана, ошибки отправляются в регистратор ошибок SAPI. Например, это журнал ошибок в Apache или stderr в CLI.

Теперь все ошибки PHP регистрируются в журнале ошибок nginx, и формат log_format, указанный в nginx.conf, соблюдается. Не стесняйтесь комментировать @misorude!

...