У меня есть довольно простая страница, которая извлекает URL-адрес и анализирует некоторые данные.
Я создал на моей странице некоторую обработку ошибок в случае, если ответ является ошибкой 404.
Тем не менее, я не могу заставить PHP игнорировать следующие ошибки
Предупреждение: file_get_contents (http://url-to-retrieve.com/123.html) [function.file-get-contents]: не удалось открыть поток: HTTP-запрос не удался! HTTP / 1.1 404 Не найден в /var/www/html/maickl/procs/get.php в строке 84 Примечание: Неопределенное смещение: 0 в /var/www/html/maickl/procs/get.php в строке 91
Я начинаю страницу с
error_reporting (0)
Любые предложения относительно того, почему это происходит, почему эти ошибки не подавляются (кажется, только на этой странице), и что я могу с этим сделать?
Использование error_reporting(0);
shoud отключить отчет об ошибках, что означает, что вы не должны получать эту ошибку – вы уверены, что она не включена снова?
Но на самом деле вы, вероятно, ищете не для изменения error_reporting
, а для отключения display_errors
, который может быть выполнен с использованием некоторого кода, подобного этому:
ini_set('display_errors', 'Off');
С этим :
error_reporting
не отключен, что означает, что ошибки могут / будут по-прежнему регистрироваться – см. log_errors
и error_log
. Также помните, что если вы задали определенную пользователем функцию обработчика ошибок, то параметры error_reporting()
полностью игнорируются.
Отключение отчетов об ошибках – один из способов сделать это, но я бы предложил просто исправить ошибку или добавить соответствующую обработку ошибок.
try { //try to do the following $content = file_get_contents('file/to/try.txt'); } catch (Exception $e) { //do this in case of an error die($e->getMessage()); }