Я хочу создать журналы ошибок, но не показывать их в браузере.
В настоящее время при возникновении ошибки или предупреждения / уведомления создаются журналы, и браузер выводит сообщение об ошибке, но я хочу заставить систему не показывать сообщение об ошибке в браузере посетителю сайта, а создавать журналы для меня.
благодаря
Убедитесь, что в вашем php.ini есть что-то подобное:
display_errors = Off error_log = /var/log/php/error.log # Assuming you have /var/log/php directory and it's writable by httpd error_reporting = E_ALL & ~E_DEPRECATED
Или задайте их как параметры времени выполнения с помощью ini_set()
Добавьте это в начало своего скрипта:
//don't display errors ini_set('display_errors', 0); //write errors to log ini_set('log_errors', 1); //error log file name ini_set('log_errors', '/var/log/php/error.log'); error_reporting(E_ALL);
Можно попробовать
error_reporting(E_ERROR | E_PARSE);
Если вы хотите регистрировать собственные ошибки:
try { // your code here } catch (Exception $e){ error_log($e->getMessage(), $e->getCode(), $e->getFile().' Line '.$e->getLine()); }
иначе используйте user4035 .