Php
使用 PHP-FPM 出現白屏當機,未記錄錯誤
這是兩個不同 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
值 1
E_ERROR
僅表示類型錯誤。您的程式碼生成一個E_RECOVERABLE_ERROR
.