Код для воспроизведения:
error_reporting(-1);
ini_set('display_errors', 1);
ini_set('error_log', 'log/log');
ini_set('html_errors', 0);
// trigger an error
echo $test;
Если log/log
доступен для записи и вы не установили date.timezone
в php.ini
или использовали date_default_timezone_set
, вы увидите эту ошибку:
Предупреждение: main (): полагаться на часовой пояс системы небезопасно
Настройки. Вы обязаны использовать параметр date.timezone или
Функция date_default_timezone_set (). Если вы использовали какой-либо из этих
методы, и вы все еще получаете это предупреждение, вы, скорее всего,
неправильно указали идентификатор часового пояса. Мы выбрали «Европа / Париж» для
'1.0 / no DST' вместо этого в C: \ srv \ www \ test.php в строке 10
Примечание: неопределенная переменная: test в C: \ srv \ www \ test.php в строке 10
Что чрезвычайно информативно. 10 строка в моем случае это echo $test;
. PHP ничего не говорит о строке с настройкой регистратора ошибок.
Вы можете потратить много времени на большой проект, указывая на это.
Если log/log
недоступно для записи, вы увидите только неопределенное уведомление о переменной.
Я думаю, что PHP мог бы использовать системные настройки часового пояса для журналов (что было бы довольно очевидно).
Является ли ошибка ошибкой и нужно ли сообщать об этом команде PHP? Btw. Я использую PHP 5.3.8 (не последний снимок)