Функции ошибок и регистрации позволяют обрабатывать и регистрировать ошибки.
Функция 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 |