php 7.0 fpm单独的错误日志表示池无效

时间:2017-03-13 08:23:27

标签: php nginx ubuntu-16.04 fpm

我在Sentrifugo的一些php页面上获得了500状态,并找出了什么 出错了我尝试设置错误记录

可以在this gist

中找到配置

但是,在我得到500的页面上,我看不到任何这些文件中的任何日志条目

/var/log/php7.0-fpm.log
/var/log/php_errors.log

工作人员池日志行为为空

anadi@foo:~$ sudo ls -ltr /var/log/php-fpm/
total 0

我所看到的只是在access.log中记录的500状态,根本没有信息可以帮助我排除故障

XX.XXX.XX.XX - - [13/Mar/2017:13:48:53 +0530] "GET /index.php/wizard/configuresite HTTP/2.0" 500 390 "https://foo.bar.com/index.php/wizard/managemenu" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"

/var/log/nginx/foo/error.log中没有条目

更新

所有日志目录都可由相应所有者

写入
anadi@foo:~$ ps -ef | grep php
root     19453     1  0 15:24 ?        00:00:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
www-data 19458 19453  0 15:24 ?        00:00:00 php-fpm: pool www
www-data 19459 19453  0 15:24 ?        00:00:00 php-fpm: pool www

anadi@foo:~$ ls -ltr /var/log/ | grep php
-rw-r--r-- 1 root     root       1679 Mar 13 10:47 php_errors.log
drwxr-xr-x 2 www-data www-data   4096 Mar 13 15:23 php-fpm
-rw------- 1 root     root      13590 Mar 13 15:24 php7.0-fpm.log

anadi@foo:~$ ls -ltr /var/log/php-fpm/
total 4
-rw-r--r-- 1 www-data www-data    0 Mar 13 15:23 www.error.log
-rw-r--r-- 1 www-data www-data 2041 Mar 13 15:34 www.access.log

anadi@foo:~$ ps -ef | grep nginx
root     19632     1  0 15:27 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 19633 19632  0 15:27 ?        00:00:00 nginx: worker process
www-data 19634 19632  0 15:27 ?        00:00:00 nginx: worker process

anadi@foo:~$ ls -ltr /var/www/
total 8
drwxrwxr-x  2 www-data www-data 4096 Mar  3 21:18 html
drwxr-xr-x 10 www-data www-data 4096 Mar 13 15:31 foo

anadi@foo:~$ ls -ltr /var/log/nginx/
total 16
drwxr-xr-x 2 www-data www-data 4096 Mar 13 09:58 foo
-rw-r--r-- 1 root     root     1105 Mar 13 15:08 error.log
-rw-r--r-- 1 root     root     5384 Mar 13 15:41 access.log

display_errors设置进​​行了更改,如其中一个答案所述,但这仍然没有为故障排除提供任何有用的日志输出。

以下是var/log/php-fpm/www.acccess.log

的摘录
- -  13/Mar/2017:15:32:11 +0530 "GET /index.php" 500 /var/www/tribe/index.php 34.722 2048 57.60%
- -  13/Mar/2017:15:34:14 +0530 "GET /index.php" 500 /var/www/tribe/index.php 20.952 4096 95.46%

2 个答案:

答案 0 :(得分:0)

在项目中搜索日志文件

在你的php.ini中你可以找到display_errors = Off使它等于On

答案 1 :(得分:0)

我不确定原因,但降级到PHP 5解决了所有问题,错误日志按预期填充,间歇性500状态代码消失了