加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

使用Nginx在PHP-FPM 7上启用错误日志记录?

发布时间:2020-12-13 21:23:19 所属栏目:Nginx 来源:网络整理
导读:这与以下问题基本相同: https://stackoverflow.com/questions/8677493/php-fpm-doesnt-write-to-error-log Nginx not logging PHP errors 但是那里的答案似乎没有在PHP 7的Ubuntu 16.04上运行. /etc/php/7.0/fpm/pool.d/www.conf: catch_workers_output =

这与以下问题基本相同:

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

Nginx not logging PHP errors

但是那里的答案似乎没有在PHP 7的Ubuntu 16.04上运行.

/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拥有.

但是当发生错误时,我不会在任何指定的日志文件中收到错误,也无法在任何其他地方找到它.

我在另一个问题上完成了所有建议,但没有找到任何有效的答案.我假设自那些答案发布以来发生了一些变化.有什么建议?

最佳答案
comment above by the_nuts帮我解决了这个问题.目录和文件不存在.

为了诊断,我补充说:

print("nn

到我的代码顶部(一个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/local / etc,创建目录,文件然后将所有者设置为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

给予Web服务器所有权和写访问权限

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读