PHP 7 - Исключение не регистрируется в error_log. error_log вообще не генерируется

Следующий код PHP запускается с PHP7:

<?php

ini_set('log_errors',1);

error_reporting(0);

throw new Exception('some exception here');

?>

Исключение выдается, но не "перехватывается".

Почему файл 'error_log' не создается? error_reporting(0) также подавляет исключения?

Удаление 'error_reporting(0)' приводит к созданию файла error_log, как и ожидалось.

Как я могу регистрировать неперехваченные исключения только в error_log, но подавлять другие ошибки с помощью error_reporting(0)?


person 779IDEAS    schedule 29.05.2018    source источник


Ответы (2)


error_reporting(0) отключает отчеты об ошибках. Вы, вероятно, путаете его с display_errors, который выводит их в канал.

См. http://php.net/manual/en/errorfunc.constants.php для списка различных параметров, которые могут регулировать работу ведения журнала.

person Thomas    schedule 29.05.2018

error_reporting(E_ALL);
ini_set("display_errors", 1);

добавьте эти строки и удалите

отчет об ошибках (0);

person waq_r    schedule 29.05.2018
comment
display_errors используется для вывода их в канал stdout. Если все, что он хочет, выводится в error_log, ему не нужен display_errors. - person Thomas; 29.05.2018