#php #error-handling #jsonp #ini #logfile
#php #обработка ошибок #jsonp #ini #файл журнала
Вопрос:
Я хочу регистрировать все ошибки PHP в файле журнала, но я не хочу отображать их пользователю.
Я использую следующую конфигурацию в php.ini
track_errors=On
error_reporting = E_ALL
log_errors=On
display_errors = Off
error_log = php-error.log
date.timezone = Europe/Berlin
Проблема, с которой я сталкиваюсь прямо сейчас:
Я использую ионное приложение. Это запрашивает некоторые файлы php на моем сервере. Когда этот php-файл содержит некоторые предупреждения, они тоже передаются, и приложение Ionic перестает работать, поскольку оно просто ожидает jsonp
ответа с callback
помощью , и не допускает никаких повторных утверждений или подобных вещей. Поэтому я использую error_reporting(0);
в начале каждого файла, но это снова полностью закрывает ошибки.
Как я могу полностью отключить передачу / отображение ошибок и просто записать их в файл?
Комментарии:
1. display_errors = Off должно сработать, вы уверены, что используете правильный файл php.ini? Вам нужно перезагрузить сервер после внесения изменений в php.ini, чтобы они вступили в силу.
2. Я использую управляемый сервер. Я не уверен, смогу ли я перезапустить этот компьютер. Но если я могу доверять
phpinfo();
, тоdisplay_errors
должен быть выключен.3. Что произойдет, если вы поместите ini_set(‘display_errors’, ‘0’); в начало вашего php-скрипта?
Ответ №1:
Другим решением является реализация вашего собственного скрипта / класса обработчика ошибок, который вы можете включить в свой проект или в каждый скрипт вашего приложения. Это позволит вам воспользоваться преимуществами регистрации любой ошибки, которую вы хотите.