[英]nginx -> php5-fpm: Error in php not logged (anywhere!)
我试图在EC2服务器上设置phpbb。 经过一个小时左右的绝望,我发现phpbb启动中的某一行失败了:
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, defined('PHPBB_DB_NEW_LINK') ? PHPBB_DB_NEW_LINK : false);
轻松修复,我需要正确配置我的数据库属性。
但是 ,要发现我必须在php应用程序的前几个文件中逐块插入echo'1'语句。 在echo语句之前,当php出错时,我只会得到一个状态为200的空白页面。
我在FPM的php.ini中打开了log_errors和display_errors,但显然他们对这种特殊类型的错误没有做任何事情。
/ var / log / syslog,/ var / log / nginx / *,/ var / log / php_fpm.log或nginx站点的错误日志中没有关于错误的日志。
所以,我的问题:为什么实际的错误(来自sql_connect)没有被记录在任何地方? (或者,如果它被记录,在哪里?)
在您的池中搜索catch_workers_output
并将其设置为yes,来自doc:
catch_workers_output - Redirect workers' stdout and stderr into main error log. If not set, they will be redirected to /dev/null, according to FastCGI specs. Values "yes" or "no"
编辑 :
还检查你有
php_flag[display_errors] = on
和/或
php_admin_flag[log_errors] = true
我今天遇到了类似的问题。 我发现我的日志文件的权限不正确。 所有权已分配给root。 我做了一个chmod 777 php5-fpm.log
来确认这是问题,它确实存在。 之后记录工作。
我做了一个chown syslog:adm php5-fpm.log
来设置正确的所有权。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.