Назад | Перейти на главную страницу

Белый экран смерти с PHP-FPM, ошибок нет

Это рассказ о двух разных файлах php.

Источник файла 1:

<?php $null->test();

Вывод файла 1:

Неустранимая ошибка: вызов функции-члена test () для не-объекта в
/wwwroot/sites/example.com/public/fatal.php в строке 1

Это также печатается в /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] = включен
php_admin_value [memory_limit] = 128 МБ

Любые идеи?

php_admin_value[error_reporting] = 1

Значение 1 означает ошибки типа E_ERROR только. Ваш код генерирует E_RECOVERABLE_ERROR.

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