PHP-FPM 死机白屏,没有记录任何错误

PHP-FPM 死机白屏,没有记录任何错误

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

文件1来源:

<?php $null->test();

文件 1 输出:


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

这也会打印到 /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 输出:

字符串“已开始”(长度=7)
这里...
字符串“这将出错”(长度=26)

没有记录错误。

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

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

有任何想法吗?

答案1

php_admin_value[error_reporting] = 1

值 1 表示E_ERROR仅限类型的错误。您的代码会生成一个E_RECOVERABLE_ERROR

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

相关内容