记一次php error log问题

今天QA向我说了一个问题。。测试环境报500错误。所以我不管三七二十一就去查看php error log了

但查了半天也没查到。问题出在那里了呢!

我们知道, php的log记录顺序是这样的

1. 如果开了display_error,那直接就在web页面上显示了以下的顺序照旧

2. 是否开启log_errors 如果没有那么进接推到web服务器。这里我用的nginx那么可以直接在nginx error log里查看

3. 如果开启log_errors那么在指定的error_log配置里查看

4. 特殊情况,现在我们用的都是php-fpm那么最好去看下fpm, nginx 有没有配置php_admin_value 或者php_admin_flag是否覆盖

好了,顺序是这样的,那么继续看下我的问题

我的是以上都配置正确,可还是写不了。是怎么回事呢。。

万般无赖之下只能放大招了。

strace -Ffv -p 18533 -p 18534 -o phperror.log

 因为日志太多,这里我去除了无关紧要的日志:

18533 open("/apps/logs/php/error_log", O_WRONLY|O_CREAT|O_APPEND, 0644) = -1 EACCES (Permission denied)
18533 write(2, "NOTICE: PHP message: test error "..., 36) = 36
18533 uname({sysname="Linux", nodename="tripcms-4zbnm.vclound.com", release="2.6.18-308.el5", version="#1 SMP Tue Feb 21 20:06:06 EST 2012", machine="x86_64"}) = 0

问题被锁定在权限上。。好了到此问题也知道了。。

那么我来看了下php-fpm权限,

一共四组:

 

这是我从手册上截下来的。。有兴趣的同学可以参考下手册fpm部份配置

 

posted @ 2016-06-12 19:17  tywei  阅读(231)  评论(0)    收藏  举报