ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   PHP (https://forum.antichat.io/forumdisplay.php?f=37)
-   -   Ошибка где-то теряется, хотя логирование включено (https://forum.antichat.io/showthread.php?t=9002554)

-jk- 29.07.2026 08:20

Ошибка где-то теряется, хотя логирование включено
 
Всем привет. Есть скрипт на PHP, и мне нужно нормально настроить логирование ошибок — чтобы не пропускать никаких предупреждений и фаталок. В php.ini включил display_errors=Off, log_errors=On и указал error_log в файл, но бывает, что ошибок просто не видно в логе. Плюс иногда ошибки выводятся прямо на экран (хотя display_errors выключен).

Проверял права на файл лога — норм, директория существует. Код запускаю через веб-сервер, PHP 8.4. Уже пробовал в начале скрипта ставить error_reporting(E_ALL); ini_set('log_errors', '1'); ini_set('error_log', '/путь/к/файлу.log'); — без изменений. Интересно, влияет ли конфигурация на уровне виртуального хоста или еще где-то?

У кого есть рабочие проверенные лайфхаки или шаблон конфигурации, где логирование отлажено по-человечески? Может, кто сталкивался с тем, что некоторые ошибки игнорируются по дефолту? Или стоит ловить исключения вручную через set_error_handler / set_exception_handler и дополнительные логи? Хотелось бы понять, как у вас это устроено в боевых проектах.

maxonsniff 15.09.2026 08:00

Часто случается, что настройки в php.ini перекрываются настройками в виртуальном хосте или .htaccess, так что проверяй там тоже. Ещё полезно ставить set_error_handler и set_exception_handler — так можно ловить и логировать ошибки, которые PHP сам не кидает в error_log. И не забудь, что некоторые фаталки могут прерывать скрипт до логирования, так что просвечивай flux ошибок через try/catch в критичных местах.


Время: 19:55