У меня есть скрипт, который будет запускаться на сервере ежедневно для загрузки данных с ресурса без вывода HTML. По умолчанию PHP будет выводить ошибки моего скрипта в php_error.log
и в окно вывода в NetBeans.
Я создал обработчик ошибок пользователя:
// user defined error handling function
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
error_log($errmsg, 3, "logs/aem.log");
switch ($errno) {
case E_ERROR:
exit("Error grave $errmsg at $filename:$linenum");
break;
case E_USER_ERROR:
exit("Error grave $errmsg at $filename:$linenum");
break;
}
}
error_reporting(0);
set_error_handler('userErrorHandler');
Я включаю этот файл в свой основной скрипт, и все идет хорошо.
Во время разработки приложения я хотел бы продолжать видеть сообщения об ошибках на экране «Вывод» в Netbeans, а также сохранять файлы журнала ошибок (как это делает обработчик по умолчанию). Я попытался изменить значение error_reporting
или добавить дополнительные функции error_log, используя следующие значения:
error_reporting(E_ALL | E_STRICT);
error_reporting(-1);
error_log($errmsg, 0);`
Но я никогда не получу ошибку на выходе, если не удалю include('mycustomhandler');
из файла.
Как мне эмулировать поведение стандартного обработчика ошибок?