PHP-FPM死亡白屏,没有错误logging

这是两个不同的PHP文件的故事。

文件1来源:

<?php $null->test(); 

文件1输出:

致命错误:在一个非对象中调用成员函数test()
/wwwroot/sites/example.com/public/fatal.php在第1行

这也打印到/var/log/php-fpm/www-error.log(在我的www.conf中定义)

文件2:

 class A {} function test(A $obj) { echo 'here...'; } var_dump('started'); $a = new A(); test($a); var_dump('this is going to error out'); test($null); var_dump('do we get here?'); 

文件2输出:

string“开始”(长度= 7)
这里…
string“这将会出错”(长度= 26)

没有错误logging。

/etc/php-fpm.d/www.conf中的相关设置:

catch_workers_output = yesphp_flag [display_errors] =开启
php_flag [display_startup_errors] =开启
php_admin_value [error_reporting] = 1
php_admin_value [error_log] = /var/log/php-fpm/www-error.log
php_admin_flag [log_errors] =开
php_admin_value [memory_limit] = 128M

有任何想法吗?

 php_admin_value[error_reporting] = 1 

值1表示只有E_ERRORtypes的错误。 您的代码会生成E_RECOVERABLE_ERROR

http://www.php.net/manual/en/errorfunc.constants.php