web-dev-qa-db-ja.com

PHP-FPMによる死の白い画面、エラーは記録されません

これは、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

何か案は?

2
Vic
php_admin_value[error_reporting] = 1

値1は、タイプE_ERRORのエラーのみを意味します。コードはE_RECOVERABLE_ERRORを生成します。

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

7
ceejayoz