PHP 5 Error Функции
Введение ошибки PHP
Функции ошибок используются для обработки ошибок и ведения журнала.
Функции ошибок позволяют нам определять собственные правила обработки ошибок и изменять способ регистрации ошибок.
Функции протоколирования позволяют нам отправлять сообщения непосредственно на другие компьютеры, электронные письма или системные журналы.
Функции отчетности об ошибках позволяют нам настраивать, какой уровень и вид ошибки обратной связи дается.
Установки
Функции PHP Error являются частью ядра PHP. Для использования этих функций установка не требуется.
Конфигурация среды выполнения
Поведение функций ошибок зависит от параметров в PHP. ini.
Ошибки и параметры настройки ведения журнала:
Имя | По умолчанию | Описание | Изменчива |
---|---|---|---|
error_reporting | NULL | Задает уровень отчетов об ошибках (целочисленные или именованные константы) | PHP_INI_ALL |
display_errors | "1" | Указывает, следует ли печатать ошибки на экране или они должны быть скрыты от пользователя. Примечание: Эта функция никогда не должна использоваться в производственных системах (только для поддержки разработки) |
PHP_INI_ALL |
display_startup_errors | "0" | Даже при дисплай_еррорс, ошибки, возникающие во время запуска PHP последовательность не отображаются Примечание: Настоятельно рекомендуется держать дисплай_стартуп_еррорс Off, за исключением отладки |
PHP_INI_ALL |
log_errors | "0" | Определяет, должны ли сообщения об ошибках сценария регистрироваться в журнале ошибок сервера или еррор_лог. Примечание: Настоятельно рекомендуется использовать журнал ошибок вместо отображения ошибок на производственных веб-узлах |
PHP_INI_ALL |
log_errors_max_len | "1024" | Задает максимальную длину лог_еррорс в байтах. Значение "0" можно использовать, чтобы не применять любую максимальную длину. Эта длина применяется к зарегистрированным ошибкам, отображаемым ошибкам, а также к $PHP _еррормсг (доступно с PHP 4,3) | PHP_INI_ALL |
ignore_repeated_errors | "0" | Указывает, следует ли регистрировать повторяющиеся сообщения об ошибках. Если установлено значение "1", он не будет регистрировать ошибки с повторяющимися ошибками из того же файла на той же строке (доступно с PHP 4,3) | PHP_INI_ALL |
ignore_repeated_source | "0" | Указывает, следует ли регистрировать повторяющиеся сообщения об ошибках. Если установлено значение "1", оно не будет регистрировать ошибки с повторяющимися ошибками из разных файлов или исходных строк (доступно с PHP 4,3) | PHP_INI_ALL |
report_memleaks | "1" | Если установлено значение "1" (по умолчанию), этот параметр покажет отчет о утечках памяти, обнаруженных менеджером Zend Memory Manager (доступен с версии PHP 4,3) | PHP_INI_ALL |
track_errors | "0" | Если установлено значение "1", Последнее сообщение об ошибке всегда будет присутствовать в переменной $PHP _еррормсг | PHP_INI_ALL |
html_errors | "1" | Отключение тегов HTML в сообщениях об ошибках | PHP_INI_ALL PHP_INI_SYSTEM in PHP <= 4.2.3. |
xmlrpc_errors | "0" | Отключает нормальный отчет об ошибках и форматирует ошибки как XML-RPC сообщение об ошибке (доступно с PHP 4,1) | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | Используется как значение элемента XML-RPC фаулткоде (доступно с PHP 4,1) | PHP_INI_ALL |
docref_root | "" | (доступно с PHP 4,3) | PHP_INI_ALL |
docref_ext | "" | (доступно с PHP 4.3.2) | PHP_INI_ALL |
error_prepend_string | NULL | Задает строку для вывода перед сообщением об ошибке | PHP_INI_ALL |
error_append_string | NULL | Задает строку для вывода после сообщения об ошибке | PHP_INI_ALL |
error_log | NULL | Указывает имя файла, в котором должны регистрироваться ошибки сценария. Файл должен быть доступен для записи пользователем веб-сервера. Если используется специальное значение syslog, ошибки отправляются в системный журнал, а не | PHP_INI_ALL |
PHP ошибки и функции протоколирования
Функции | Описание |
---|---|
debug_backtrace() | Создает трассировку |
debug_print_backtrace() | Печать трассировки |
error_get_last() | Возвращает последнюю возникшую ошибку |
error_log() | Отправка сообщения об ошибке в журнал, в файл или в учетную запись электронной почты |
error_reporting() | Указывает, какие ошибки сообщаются |
restore_error_handler() | Восстанавливает предыдущий обработчик ошибок |
restore_exception_handler() | Восстанавливает предыдущий обработчик исключений |
set_error_handler() | Задает определяемую пользователем функцию обработчика ошибок |
set_exception_handler() | Задает определяемую пользователем функцию обработчика исключений |
trigger_error() | Создает сообщение об ошибке на уровне пользователя |
user_error() | Псевдоним trigger_error() |
PHP 5 предопределенные ошибки и журналы регистрации констант
Значение | Постоянной | Описание |
---|---|---|
1 | E_ERROR | Фатальные ошибки во время выполнения. Ошибки, которые невозможно восстановить. Выполнение скрипта приостановлено |
2 | E_WARNING | Предупреждения во время выполнения (не фатальные ошибки). Выполнение скрипта не остановлено |
4 | E_PARSE | Ошибки синтаксического анализа во время компиляции. Ошибки синтаксического анализа должны генерироваться только синтаксическим анализатором |
8 | E_NOTICE | Уведомления во время выполнения. Сценарий нашел то, что может быть ошибкой, но также может произойти при запуске сценария обычно |
16 | E_CORE_ERROR | Фатальные ошибки при запуске PHP. Это как е_еррор, за исключением того, что генерируется ядром PHP |
32 | E_CORE_WARNING | Не фатальные ошибки при запуске PHP. Это как е_варнинг, за исключением того, что генерируется ядром PHP |
64 | E_COMPILE_ERROR | Фатальные ошибки во время компиляции. Это похоже на е_еррор, за исключением того, что он генерируется движком Zend Scripting Engine |
128 | E_COMPILE_WARNING | Нефатальные ошибки во время компиляции. Это похоже на е_варнинг, за исключением того, что он генерируется движком Zend Scripting Engine |
256 | E_USER_ERROR | Фатальная ошибка, генерируемая пользователем. Это как е_еррор, за исключением того, что генерируется в PHP-коде с помощью функции PHP тригжер_еррор () |
512 | E_USER_WARNING | Предупреждение, сгенерированное пользователем, не являющееся фатальным. Это как е_варнинг, за исключением того, что генерируется в PHP-коде с помощью функции PHP тригжер_еррор () |
1024 | E_USER_NOTICE | Уведомление, созданное пользователем. Это как е_нотице, за исключением того, что генерируется в PHP-коде с помощью функции PHP тригжер_еррор () |
2048 | E_STRICT | Включите, чтобы PHP предложить изменения в ваш код, который будет обеспечивать лучшую совместимость и передовой совместимости вашего кода (с PHP 5, но не включены в е_алл до PHP 5,4) |
4096 | E_RECOVERABLE_ERROR | Устранимая фатальная ошибка. Указывает, что произошла, вероятно, опасная ошибка, но не оставила ядро в нестабильном состоянии. Если ошибка не перехвачена определяемым пользователем дескриптором, приложение прерывается, как это было е_еррор (с PHP 5,2) |
8192 | E_DEPRECATED | Уведомления во время выполнения. Включите это для получения предупреждений о коде, который не будет работать в будущих версиях (с PHP 5,3) |
16384 | E_USER_DEPRECATED | Созданное пользователем предупреждающее сообщение. Это как е_депрекатед, за исключением того, что генерируется в PHP-коде с помощью PHP функции тригжер_еррор () (с PHP 5,3) |
32767 | E_ALL | Включить все ошибки и предупреждения PHP (за исключением е_стрикт в версиях < 5,4) |