Назад | Перейти на главную страницу

Включить ведение журнала ошибок на PHP-FPM 7 с Nginx?

По сути, это то же самое, что и эти вопросы:

https://stackoverflow.com/questions/8677493/php-fpm-doesnt-write-to-error-log

Nginx не регистрирует ошибки PHP

НО ответы там, похоже, не работают на Ubuntu 16.04 с PHP 7.

/etc/php/7.0/fpm/pool.d/www.conf:

catch_workers_output = yes
php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on

/var/log/fpm-php.www.log существует и принадлежит www-data.

/etc/php/7.0/fpm/php.ini:

log_errors = On

Блок сервера виртуального хоста Nginx

access_log /var/log/myapp/access.log;
error_log /var/log/myapp/error.log error;

/var/log/myapp/access.log существует и принадлежит www-data.

Но когда возникает ошибка, я не получаю ее ни в одном из указанных файлов журнала и не могу найти ее ни в каком другом месте.

Я просмотрел все предложения по другому вопросу, но не нашел подходящего ответа. Я предполагаю, что что-то изменилось с тех пор, как был опубликован этот ответ. Какие-либо предложения?

В комментарий выше по орехи помог мне решить эту проблему. Каталог и файл не существуют.

Для диагностики добавил:

print("\n\n<br><br>log_errors: ".ini_get('log_errors'));
print("\n\n<br><br>error_log: ".ini_get('error_log'));

вверху моего кода (плагин WordPress). Это вывело:

log_errors: 1
error_log: /usr/local/etc/php-fpm.d/fpm.log 

В терминале я использовал ls чтобы узнать, что файл и каталог отсутствовали, т.е.

ls /usr/local/etc/php-fpm.d/fpm.log
ls /usr/local/etc/php-fpm.d/

выведен

ls: cannot access '/usr/local/etc/php-fpm.d/fpm.log': No such file or directory
ls: cannot access '/usr/local/etc/php-fpm.d': No such file or directory

Чтобы исправить: я сменил каталог на / usr / местные / и т. д., создал каталог, файл, а затем установил владельца на www-data: www-data

cd /usr/local/etc
sudo mkdir php-fpm.d
cd php-fpm.d
sudo touch fpm.log
sudo chown -R www-data:www-data fpm.log

Если файл и каталог существуют, запустите

ls fpm.log -l

и если владелец root:

-rw-r--r-- 1 root root 0 Jun 23 19:52 fpm.log

бегать

sudo chown -R www-data:www-data fpm.log

предоставить право собственности на веб-сервер и доступ для записи

-rw-r--r-- 1 www-data www-data 12848 Jun 23 20:07 fpm.log