Учебник по PHP

PHP ГЛАВНАЯ Введение в PHP Установка PHP Синтаксис PHP Комментарии PHP PHP-переменные PHP-эхо/печать Типы данных PHP PHP-строки PHP-номера PHP-математика PHP-константы PHP-операторы PHP Если... Иначе... Иначе PHP-переключатель PHP-циклы PHP-функции PHP-массивы PHP-суперглобальные переменные PHP регулярное выражение

PHP- формы

Обработка форм PHP Проверка формы PHP Требуется PHP-форма URL-адрес формы PHP/электронная почта PHP-форма завершена

PHP продвинутый

Дата и время PHP PHP включает Обработка файлов PHP Открытие/чтение файла PHP Создание/запись файла PHP Загрузка файла PHP PHP-куки PHP-сессии PHP-фильтры Расширенные фильтры PHP Функции обратного вызова PHP PHP JSON Исключения PHP

PHP ООП

PHP Что такое ООП PHP-классы/объекты PHP-конструктор PHP-деструктор Модификаторы доступа PHP Наследование PHP PHP-константы Абстрактные классы PHP PHP-интерфейсы Особенности PHP Статические методы PHP Статические свойства PHP Пространства имен PHP Итерации PHP

База данных MySQL

База данных MySQL Подключиться к MySQL MySQL Создать БД MySQL Создать таблицу Вставка данных MySQL MySQL Получить последний идентификатор MySQL Вставить несколько MySQL подготовлен Выбор данных MySQL MySQL Где Порядок MySQL MySQL Удалить данные Данные обновления MySQL Предельные данные MySQL

PHP XML

XML-парсеры PHP Парсер PHP SimpleXML PHP SimpleXML — Получить PHP XML Expat PHP XML DOM

PHP — АЯКС

Введение в АЯКС АЯКС PHP База данных AJAX АЯКС XML AJAX-поиск в реальном времени АЯКС-опрос

Примеры PHP

Примеры PHP PHP-компилятор PHP-викторина PHP-упражнения PHP-сертификат

Справочник по PHP

Обзор PHP PHP-массив Календарь PHP Дата PHP PHP-каталог Ошибка PHP PHP-исключение Файловая система PHP PHP-фильтр PHP FTP PHP JSON Ключевые слова PHP PHP-библиотека XML PHP-почта PHP-математика PHP Разное PHP MySQLi PHP-сеть Управление выводом PHP PHP регулярное выражение PHP SimpleXML PHP-поток PHP-строка Обработка переменных PHP XML-парсер PHP PHP-архив Часовые пояса PHP

PHP - функции ошибок


Введение в PHP-ошибку

Функции ошибок используются для обработки ошибок и ведения журнала.

Функции ошибок позволяют нам определять собственные правила обработки ошибок и изменять способ регистрации ошибок.

Функции ведения журнала позволяют нам отправлять сообщения непосредственно на другие машины, электронные письма или системные журналы.

Функции отчетов об ошибках позволяют нам настроить уровень и вид сообщений об ошибках.


Установка

Функции обработки ошибок PHP являются частью ядра PHP. Для использования этих функций установка не требуется.


Конфигурация среды выполнения

На поведение функций ошибок влияют настройки в php.ini.

Ошибки и параметры конфигурации ведения журнала:

Name Default Description Changeable
error_reporting NULL Sets the error reporting level (either an integer or  named constants) PHP_INI_ALL
display_errors "1" Specifies whether errors should be printed to the screen, or if they should be hidden from the user.
Note: This feature should never be used on production systems (only to support your development)
PHP_INI_ALL
display_startup_errors "0" Even when display_errors is on, errors that occur during PHP's startup sequence are not displayed
Note: It is strongly recommended to keep display_startup_errors off, except for debugging
PHP_INI_ALL
log_errors "0" Defines whether script error messages should be logged to the server's error log or error_log.
Note: It is strongly advised to use error logging instead of error displaying on production web sites
PHP_INI_ALL
log_errors_max_len "1024" Sets the maximum length of log_errors in bytes. The value "0" can be used to not apply any maximum length at all. This length is applied to logged errors, displayed errors, and also to $php_errormsg (available since PHP 4.3) PHP_INI_ALL
ignore_repeated_errors "0" Specifies whether to log repeated error messages. When set to "1" it will not log errors with repeated errors from the same file on the same line (available since PHP 4.3) PHP_INI_ALL
ignore_repeated_source "0" Specifies whether to log repeated error messages. When set to "1" it will not log errors with repeated errors from different files or source lines (available since PHP 4.3) PHP_INI_ALL
report_memleaks "1" If set to "1" (the default), this parameter will show a report of memory leaks detected by the Zend memory manager (available since PHP 4.3) PHP_INI_ALL
track_errors "0" If set to "1", the last error message will always be present in the variable $php_errormsg PHP_INI_ALL
html_errors "1" Turns off HTML tags in error messages PHP_INI_ALL
PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors "0" Turns off normal error reporting and formats errors as XML-RPC error message (available since PHP 4.1) PHP_INI_SYSTEM
xmlrpc_error_number "0" Used as the value of the XML-RPC faultCode element (available since PHP 4.1) PHP_INI_ALL
docref_root "" (available since PHP 4.3) PHP_INI_ALL
docref_ext "" (available since PHP 4.3.2) PHP_INI_ALL
error_prepend_string NULL Specifies a string to output before an error message PHP_INI_ALL
error_append_string NULL Specifies a string to output after an error message PHP_INI_ALL
error_log NULL Specifies the name of the file where script errors should be logged. The file should be writable by the web server's user. If the special value syslog is used, the errors are sent to the system logger instead PHP_INI_ALL


PHP-функции ошибок и протоколирования

Function Description
debug_backtrace() Generates a backtrace
debug_print_backtrace() Prints a backtrace
error_clear_last() Clears the last error
error_get_last() Returns the last error that occurred
error_log() Sends an error message to a log, to a file, or to a mail account
error_reporting() Specifies which errors are reported
restore_error_handler() Restores the previous error handler
restore_exception_handler() Restores the previous exception handler
set_error_handler() Sets a user-defined error handler function
set_exception_handler() Sets a user-defined exception handler function
trigger_error() Creates a user-level error message
user_error() Alias of trigger_error()

PHP Предопределенные константы ошибок и протоколирования

Value Constant Description
1 E_ERROR Fatal run-time errors. Errors that cannot be recovered from. Execution of the script is halted
2 E_WARNING Run-time warnings (non-fatal errors). Execution of the script is not halted
4 E_PARSE Compile-time parse errors. Parse errors should only be generated by the parser
8 E_NOTICE Run-time notices. The script found something that might be an error, but could also happen when running a script normally
16 E_CORE_ERROR Fatal errors at PHP startup. This is like E_ERROR, except it is generated by the core of PHP
32 E_CORE_WARNING Non-fatal errors at PHP startup. This is like E_WARNING, except it is generated by the core of PHP
64 E_COMPILE_ERROR Fatal compile-time errors. This is like E_ERROR, except it is generated by the Zend Scripting Engine
128 E_COMPILE_WARNING Non-fatal compile-time errors. This is like E_WARNING, except it is generated by the Zend Scripting Engine
256 E_USER_ERROR Fatal user-generated error. This is like E_ERROR, except it is generated in PHP code by using the PHP function trigger_error()
512 E_USER_WARNING Non-fatal user-generated warning. This is like E_WARNING, except it is generated in PHP code by using the PHP function trigger_error()
1024 E_USER_NOTICE User-generated notice. This is like E_NOTICE, except it is generated in PHP code by using the PHP function trigger_error()
2048 E_STRICT Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code (Since PHP 5 but not included in E_ALL until PHP 5.4)
4096 E_RECOVERABLE_ERROR Catchable fatal error. Indicates that a probably dangerous error occurred, but did not leave the Engine in an unstable state. If the error is not caught by a user defined handle, the application aborts as it was an E_ERROR (Since PHP 5.2)
8192 E_DEPRECATED Run-time notices. Enable this to receive warnings about code that will not work in future versions (Since PHP 5.3)
16384 E_USER_DEPRECATED User-generated warning message. This is like E_DEPRECATED, except it is generated in PHP code by using the PHP function trigger_error() (Since PHP 5.3)
32767 E_ALL Enable all PHP errors and warnings (except E_STRICT in versions < 5.4)