Функции ошибок и регистрации позволяют обрабатывать и регистрировать ошибки.
Функция Error позволяет пользователю определять правила обработки ошибок и изменять способ регистрации ошибок.
Функция ведения журнала позволяет пользователям регистрировать приложения и отправлять сообщения журнала по электронной почте, в системные журналы или на другие машины.
На функцию ошибки влияет файл конфигурации php.ini.
Параметры конфигурации ошибок и журналов:
параметр | значение по умолчанию | описывать | Изменяемый диапазон |
---|---|---|---|
error_reporting | НУЛЕВОЙ | Устанавливает уровень ошибок PHP и возвращает текущий уровень (число или константу). | PHP_INI_ALL |
display_errors | "1" | Этот параметр определяет, будут ли сообщения об ошибках отображаться на экране как часть вывода или скрыты от пользователя. Примечание. Эту функцию не следует использовать в производственной среде (используется во время разработки и тестирования). | PHP_INI_ALL |
display_startup_errors | "0" | Даже если для параметра display_errors установлено значение «on», сообщения об ошибках во время запуска PHP не будут отображаться. Настоятельно рекомендуется отключить display_startup_errors, за исключением целей отладки. | PHP_INI_ALL |
log_errors | "0" | Укажите, следует ли записывать информацию об ошибках выполнения сценария в журнал ошибок сервера или error_log. Обратите внимание, что это элемент конфигурации, специфичный для сервера. | PHP_INI_ALL |
log_errors_max_len | "1024" | Установите максимальное количество байт в log_errors. Информация об источнике ошибки будет добавлена в error_log. Значение по умолчанию — 1024. Если установлено значение 0, длина не ограничена. Этот параметр длины имеет ограничивающее влияние на регистрируемые ошибки, отображаемые ошибки и $php_errormsg. | PHP_INI_ALL |
ignore_repeated_errors | "0" | Повторяющаяся информация не регистрируется. Повторяющиеся ошибки должны возникать в одной и той же строке кода в одном и том же файле, если только для ignore_repeated_source не установлено значение true. | PHP_INI_ALL |
ignore_repeated_source | "0" | Когда повторяющиеся сообщения игнорируются, источник сообщения также игнорируется. Если этот параметр включен, дубликаты сообщений не будут фиксировать, были ли они созданы разными файлами или разными строками исходного кода. | PHP_INI_ALL |
report_memleaks | "1" | Если для этого параметра установлено значение «Выкл.», информация об утечке памяти не будет отображаться (в стандартном выводе или журналах). | PHP_INI_ALL |
track_errors | "0" | Если этот параметр включен, последняя ошибка всегда будет существовать в переменной $php_errormsg. | PHP_INI_ALL |
html_errors | "1" | Закройте HTML-теги в сообщениях об ошибках. | PHP_INI_ALLPHP_INI_SYSTEM в PHP <= 4.2.3. |
xmlrpc_errors | "0" | Отключает обычные отчеты об ошибках и форматирует ошибки как сообщения об ошибках XML-RPC. | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | Используется в качестве значения элемента errorCode XML-RPC. | PHP_INI_ALL |
docref_root | "" | Новый формат сообщения об ошибке включает соответствующую справочную страницу, на которой конкретно описывается ошибка или функция, вызвавшая ошибку. Чтобы предоставить страницы руководства, вы можете загрузить руководство на соответствующем языке с официального сайта PHP и установить URL-адрес в ini на соответствующий локальный адрес. Если ваша локальная копия руководства доступна через «/manual/», вы можете просто установить docref_root=/manual/. Кроме того, вам также необходимо установить docref_ext в соответствии с суффиксом вашего локального файла docref_ext=.html. Конечно, вы также можете установить внешний ссылочный адрес. Например, вы можете установить docref_root=http://manual/en/ или docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F " | PHP_INI_ALL |
docref_ext | "" | См. docref_root. | PHP_INI_ALL |
error_prepend_string | НУЛЕВОЙ | Вывод содержимого перед сообщением об ошибке. | PHP_INI_ALL |
error_append_string | НУЛЕВОЙ | Вывод содержимого после сообщения об ошибке. | PHP_INI_ALL |
error_log | НУЛЕВОЙ | Устанавливает файл, в который будут записываться ошибки сценария. Файл должен быть доступен для записи пользователю веб-сервера. | PHP_INI_ALL |
Функции ошибок и регистрации являются частью ядра PHP. Для использования этих функций установка не требуется.
PHP : указывает самую раннюю версию PHP, поддерживающую эту функцию.
функция | описывать | PHP |
---|---|---|
debug_backtrace() | Создать обратную трассировку. | 4 |
debug_print_backtrace() | Распечатать обратную трассировку. | 5 |
error_get_last() | Получите последнюю произошедшую ошибку. | 5 |
error_log() | Отправьте сообщение об ошибке в журнал ошибок сервера, в файл или в удаленный пункт назначения. | 4 |
error_reporting() | Указывает, о какой ошибке следует сообщить. | 4 |
restre_error_handler() | Восстановите предыдущий обработчик ошибок. | 4 |
восстановить_исключение_обработчик() | Восстановите предыдущий обработчик исключений. | 5 |
set_error_handler() | Установите определяемую пользователем функцию обработки ошибок. | 4 |
set_Exception_handler() | Установите определяемую пользователем функцию обработки исключений. | 5 |
триггер_ошибка() | Создавайте определяемые пользователем сообщения об ошибках. | 4 |
пользователь_ошибка() | Псевдоним для триггера_error(). | 4 |
PHP : указывает самую раннюю версию PHP, поддерживающую эту константу.
ценить | постоянный | описывать | PHP |
---|---|---|---|
1 | Е_ОШИБКА | Неустранимая ошибка во время выполнения. Неисправимые ошибки. Прекратите выполнение сценария. | |
2 | Э_ПРЕДУПРЕЖДЕНИЕ | Нефатальная ошибка времени выполнения. Выполнение скрипта не останавливается. | |
4 | E_PARSE | Ошибка анализа времени компиляции. Ошибки синтаксического анализа должны генерироваться только синтаксическим анализатором. | |
8 | Э_УВЕДОМЛЕНИЕ | Уведомления во время выполнения. Обнаружение сценария может быть ошибкой, но может произойти и при обычном запуске сценария. | |
16 | E_CORE_ERROR | Неустранимая ошибка при запуске PHP. Это похоже на E_ERROR ядра PHP. | 4 |
32 | E_CORE_WARNING | Нефатальная ошибка при запуске PHP. Это похоже на E_WARNING ядра PHP. | 4 |
64 | E_COMPILE_ERROR | Неустранимая ошибка времени компиляции. Это похоже на ошибку E_ERROR, сгенерированную механизмом сценариев Zend. | 4 |
128 | E_COMPILE_WARNING | Нефатальная ошибка времени компиляции. Это похоже на E_WARNING, генерируемое механизмом сценариев Zend. | 4 |
256 | E_USER_ERROR | Фатальная ошибка, сгенерированная пользователем. Это похоже на ошибку E_ERROR, сгенерированную программистом с помощью функции PHP триггер_error(). | 4 |
512 | E_USER_WARNING | Нефатальная ошибка, сгенерированная пользователем. Это похоже на E_WARNING, сгенерированное программистом с помощью функции PHP триггер_ошибка(). | 4 |
1024 | E_USER_NOTICE | Уведомления, генерируемые пользователем. Это похоже на сообщение E_NOTICE, сгенерированное программистом с помощью функции PHP триггер_ошибка(). | 4 |
2048 | E_STRICT | Уведомления во время выполнения. PHP рекомендует внести изменения в свой код для улучшения взаимодействия и совместимости кода. | 5 |
4096 | E_RECOVERABLE_ERROR | Уловимые фатальные ошибки. Это похоже на E_ERROR, который может быть перехвачен пользовательским дескриптором (см. set_error_handler()). | 5 |
6143 | Е_ВСЕ | Все уровни ошибок и предупреждений, кроме E_STRICT (начиная с PHP 6.0, E_STRICT будет частью E_ALL). | 5 |