これは、2つの異なるphpファイルの話です。
ファイル1ソース:
<?php $null->test();
ファイル1の出力:
致命的なエラー:の非オブジェクトに対するメンバー関数test()の呼び出し
/wwwroot/sites/example.com/public/fatal.php1行目
これは/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)
ここに...
string 'これはエラーになります'(長さ= 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
を生成します。