Ubuntu nginx->;php5 fpm:未记录php中的错误(任何地方!)

Ubuntu nginx->;php5 fpm:未记录php中的错误(任何地方!),ubuntu,nginx,php,phpbb3,Ubuntu,Nginx,Php,Phpbb3,我正在尝试在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

我正在尝试在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_错误和display_错误,但显然它们没有处理这种特殊类型的错误

在/var/log/syslog、/var/log/nginx/*、/var/log/php-fpm.log或nginx站点的错误日志中没有关于错误的日志


那么,我的问题是:为什么实际的错误(来自sql_connect)没有被记录在任何地方?(或者,如果正在记录,则在何处?

从文档中搜索池中的
捕获工作人员输出
,并将其设置为是:

 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
来设置正确的所有权。

编辑配置后是否重新启动了php fpm和nginx?@JohnWHS是的,我一直在编辑后重新启动它们。您是否检查了
/etc/php5/fpm/php fpm.conf
中的
错误日志设置?可以从默认路径更改,您说您的错误日志是
php fpm.log
,而我的错误日志实际上是
php5 fpm.log
@MohammadAbuShady谢谢-是的,我尝试将它们保留为默认值(注释掉),并将它们设置为特定的文件名。到目前为止,两者都不起作用这是什么版本的phpbb和什么文件?很可能错误被抑制了。哇,这是一个愚蠢的默认值。谢谢-这是不可避免的问题的一部分(和/或稍后会绊倒我)。但是,仍然没有任何乐趣(重新启动后)。谢谢,编辑也没有任何区别。我不明白为什么在php.ini中打开log_errors时需要进行编辑,但在任何情况下,设置都不会在任何地方生成日志。我还应该提到,如果我打开display_errors,这个特定的错误也不会显示出来——我想这与特定工作进程中发生的错误是一致的,并且没有正确路由。common.php的第100行是代码:set_error_handler(defined('PHPBB_MSG_handler')?PHPBB_MSG_handler:'MSG_handler');如果我将其注释掉,则在sql connect语句出现之前触发_错误。sql connect错误仍然不会在任何地方出现。phpbb有自己的错误处理功能,从我读到的文档“错误日志是在/store/目录中自动创建的,将被称为php_error.Log”,请在那里检查或尝试在config.php中设置DEBUG True。