Php

使用 PHP-FPM 出現白屏當機,未記錄錯誤

  • March 15, 2013

這是兩個不同 php 文件的故事。

文件 1 來源:

<?php $null->test();

文件 1 輸出:

致命錯誤:在第 1 行的 /wwwroot/sites/example.com/public/fatal.php 中的非對像上呼叫成員函式 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 $$= 在

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

值 1E_ERROR僅表示類型錯誤。您的程式碼生成一個E_RECOVERABLE_ERROR.

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

引用自:https://serverfault.com/questions/488286