PHP5 error
PHP Введение ошибок
Функции error используются для обработки ошибок и ведения журнала.
Функции error позволяют нам определять собственные правила обработки ошибок и изменять способ регистрации error.
Функции ведения журнала позволяют нам отправлять сообщения непосредственно на другие машины, электронную почту или системные журналы. Функции ведения журнала позволяют нам отправлять сообщения непосредственно на другие машины, электронную почту или системные журналы.
Функции сообщения об ошибках позволяют нам настроить, какой уровень и вид обратной связи по ошибке предоставляется.
Установка
Функции error PHP являются частью ядра PHP. Для использования этих функций установка не требуется.
Конфигурация среды выполнения
На поведение функций error влияют настройки в php.ini.
Ошибки и параметры конфигурации ведения журнала:
Имя | По умолчанию | Описание | Изменчивый |
---|---|---|---|
error_reporting | NULL | Задает уровень отчета об ошибках (либо целое число, либо именованные константы) | PHP_INI_ALL |
display_errors | "1" | Указывает, должны быть ошибки напечатаны на экране, или если они должны быть скрыты от пользователя. Примечание: Эта функция никогда не должна использоваться в производственных системах (только для поддержки вашей разработки) |
PHP_INI_ALL |
display_startup_errors | "0" | Даже когда display_errors включен, ошибки, возникающие во время последовательности запуска PHP, не отображаются Примечание: Настоятельно рекомендуется держать display_startup_errors выключенным, за исключением отладки |
PHP_INI_ALL |
log_errors | "0" | Определяет, должны ли сообщения об ошибках скрипта регистрироваться в журнале ошибок сервера или error_log. Примечание: Настоятельно рекомендуется использовать ведение журнала ошибок вместо отображения ошибок на производственных веб-сайтах |
PHP_INI_ALL |
log_errors_max_len | "1024" | Задает максимальную длину log_errors в байтах. Значение "0" может быть использовано для того, чтобы вообще не применять никакой максимальной длины. Эта длина применяется к зарегистрированным ошибкам, отображаемым ошибкам, а также к $php_errormsg (доступно начиная с 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 (доступен начиная с PHP 4.3) | PHP_INI_ALL |
track_errors | "0" | Если задано значение "1", то последнее сообщение об ошибке всегда будет присутствовать в переменной $php_errormsg | PHP_INI_ALL |
html_errors | "1" | Отключает HTML теги в сообщениях об ошибках | PHP_INI_ALL PHP_INI_SYSTEM в PHP <= 4.2.3. |
xmlrpc_errors | "0" | Отключает обычную отчетность об ошибках и форматирует ошибки в виде сообщения об ошибке XML-RPC (доступно начиная с PHP 4.1) | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | Используется в качестве значения элемента XML-RPC faultCode (доступен с 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() | Creates a user-level error message |
user_error() | Псевдоним из trigger_error() |
PHP5 предопределенные константы ошибок и ведения журнала
Значение | Констант | Описание |
---|---|---|
1 | E_ERROR | Фатальные ошибки во время выполнения. Ошибки, которые невозможно исправить. Выполнение скрипта остановлено |
2 | E_WARNING | Предупреждения во время выполнения (несмертельные ошибки). Выполнение скрипта не прекращается |
4 | E_PARSE | Ошибки синтаксического анализа во время компиляции. Ошибки синтаксического анализа должны создаваться только синтаксическим анализатором |
8 | E_NOTICE | Уведомления о времени выполнения. Скрипт обнаружил что-то, что может быть ошибкой, но также может произойти при обычном запуске скрипта |
16 | E_CORE_ERROR | Фатальные ошибки при запуске PHP. Это похоже на E_ERROR, за исключением того, что он генерируется ядром PHP |
32 | E_CORE_WARNING | Несмертельные ошибки при запуске PHP. Это похоже на E_WARNING, за исключением того, что он генерируется ядром PHP |
64 | E_COMPILE_ERROR | Фатальные ошибки во время компиляции. Это похоже на E_ERROR, за исключением того, что он генерируется скриптовым движком Zend |
128 | E_COMPILE_WARNING | Несмертельные ошибки во время компиляции. Это похоже на E_WARNING, за исключением того, что он генерируется скриптовым движком Zend |
256 | E_USER_ERROR | Фатальная ошибка, созданная пользователем. Это похоже на E_ERROR, за исключением того, что он генерируется в PHP-коде с помощью функции PHP trigger_error() |
512 | E_USER_WARNING | Несмертельное пользовательское предупреждение. Это похоже на E_WARNING, за исключением того, что он генерируется в PHP коде с помощью функции PHP trigger_error() |
1024 | E_USER_NOTICE | Сгенерированное пользователем уведомление. Это похоже на E_NOTICE, за исключением того, что он генерируется в PHP коде с помощью функции PHP trigger_error() |
2048 | E_STRICT | Включите, чтобы PHP предлагал изменения в вашем коде, которые обеспечат наилучшую совместимость и прямую совместимость вашего кода (начиная с PHP 5, но не включенного в E_ALL до PHP 5.4) |
4096 | E_RECOVERABLE_ERROR | Улавливаемая неустранимая ошибка. Указывает на то, что произошла, вероятно, опасная ошибка, но не оставила двигатель в нестабильном состоянии. Если ошибка не поймана определяемым пользователем дескриптором, приложение прерывается, как это было с E_ERROR (начиная с PHP 5.2) |
8192 | E_DEPRECATED | Уведомления о времени выполнения. Включите эту функцию, чтобы получать предупреждения о коде, который не будет работать в будущих версиях (начиная с PHP 5.3) |
16384 | E_USER_DEPRECATED | Генерируемое пользователем предупреждающее сообщение. Это похоже на E_DEPRECATED, за исключением того, что он генерируется в PHP-коде с помощью функции PHP trigger_error () (начиная с PHP 5.3) |
32767 | E_ALL | Включите все ошибки и предупреждения PHP (кроме E_STRICT в версиях < 5.4) |