&reftitle.runtime; &extension.runtime; Настройки конфигурации протоколирования событий и ошибок &Name; &Default; &Changeable; &Changelog; error_reporting NULL INI_ALL display_errors "1" INI_ALL display_startup_errors "1" INI_ALL До PHP 8.0.0 значение по умолчанию было "0". log_errors "0" INI_ALL log_errors_max_len "1024" INI_ALL Не имеет смысла в версии PHP 8.0.0, удалено в версии PHP 8.1.0. ignore_repeated_errors "0" INI_ALL ignore_repeated_source "0" INI_ALL report_memleaks "1" INI_ALL track_errors "0" INI_ALL Объявлено устаревшим в PHP 7.2.0, удалено в PHP 8.0.0. html_errors "1" INI_ALL xmlrpc_errors "0" INI_SYSTEM xmlrpc_error_number "0" INI_ALL docref_root "" INI_ALL docref_ext "" INI_ALL error_prepend_string NULL INI_ALL error_append_string NULL INI_ALL error_log NULL INI_ALL error_log_mode 0o644 INI_ALL Доступно, начиная с PHP 8.2.0 syslog.facility "LOG_USER" INI_SYSTEM Доступно, начиная с PHP 7.3.0. syslog.filter "no-ctrl" INI_ALL Доступно, начиная с PHP 7.3.0. syslog.ident "php" INI_SYSTEM Доступно, начиная с PHP 7.3.0.
&ini.php.constants;
&ini.descriptions.title; error_reporting int Задаёт уровень протоколирования ошибки. Параметр может быть либо числом, представляющим битовое поле, либо именованной константой. Соответствующие уровни и константы приведены в разделе Предопределённые константы, а также в &php.ini;. Для установки настройки во время выполнения используйте функцию error_reporting. Смотрите также описание директивы display_errors. Значение по умолчанию равно E_ALL. До PHP 8.0.0 значение по умолчанию было: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED. При этой настройке не отображаются уровни ошибок E_NOTICE, E_STRICT и E_DEPRECATED. PHP-константы за пределами PHP Использование PHP-констант за пределами PHP, например в файле httpd.conf, не имеет смысла, так как в таких случаях требуются целочисленные значения (int). Более того, с течением времени будут добавляться новые уровни ошибок, а максимальное значение константы E_ALL соответственно будет расти. Поэтому в месте, где предполагается указать E_ALL, лучше задать большое целое число, чтобы перекрыть все возможные битовые поля. Таким числом может быть, например, 2147483647 (оно включит все возможные ошибки, не только E_ALL). display_errors string Эта настройка определяет, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя. Значение "stderr" посылает ошибки в поток stderr вместо stdout. Эта функциональность предназначена только для разработки и не должна использоваться в готовых производственных системах (например, системах, имеющих доступ в интернет). Несмотря на то, что display_errors может быть установлена во время выполнения (функцией ini_set), это ни на что не повлияет, если в скрипте есть фатальные ошибки. Это обусловлено тем, что ожидаемые действия программы во время выполнения не получат управления (не будут выполняться). display_startup_errors bool Даже если display_errors включена, ошибки, возникающие во время запуска PHP, не будут отображаться. Настойчиво рекомендуем включать директиву display_startup_errors только для отладки. log_errors bool Указывает, записывать ли сообщения об ошибках скрипта в лог ошибок сервера или в место, которое определяет директива error_log. Место, в которое будут отправляться ошибки, зависит от сервера. Разработчики, которые серьёзно относятся к безопасности, записывают ошибки в журнал, а не выводят сообщения об ошибках на рабочих сайтах. log_errors_max_len int Устанавливает максимальную длину сообщения об ошибке скрипта в байтах. Логирование ошибок включают директивой log_errors. В журнал ошибок, путь к которому определяет директива error_log, добавляется информация об источнике. Значение по умолчанию равно 1024 байтам, а значение 0 снимает ограничение на длину сообщения. Ограничение длины распространяется на ошибки, которые записываются в журнал ошибок или выводятся на экран, и последнюю ошибку, которую PHP генерирует и записывает в переменную $php_errormsg, но не на явный вызов функций наподобие error_log. &ini.shorthandbytes; ignore_repeated_errors bool Отключает запись в журнал ошибок, которые повторяются. PHP считает ошибку повторной, если она возникает в том же файле и в той же строке, и если включили опцию ignore_repeated_source. ignore_repeated_source bool Игнорировать источник ошибок при пропуске повторяющихся сообщений. Когда эта настройка включена, повторяющиеся сообщения об ошибках не будут заноситься в журнал вне зависимости от того, в каких файлах и строках они происходят. report_memleaks bool Если настройка включена (по умолчанию), будет формироваться отчёт об утечках памяти, зафиксированных менеджером памяти Zend. На POSIX платформах этот отчёт будет направляться в поток stderr. На Windows платформах он будет посылаться в отладчик функцией OutputDebugString(), просмотреть отчёт в этом случае можно с помощью утилит, вроде DbgView. Эта настройка имеет смысл в сборках, предназначенных для отладки. При этом E_WARNING должна быть включена в список error_reporting. track_errors bool Если включена, последняя произошедшая ошибка будет первой в переменной $php_errormsg. html_errors bool Если директиву включили, сообщения об ошибках будут включать HTML-теги. Формат для HTML-ошибок создаёт интерактивные сообщения, которые направляют пользователя на страницу, которая описывает ошибку или функцию, которая вызвала ошибку. На такие ссылки влияют директивы docref_root и docref_ext. Если директиву выключили, ошибки будут выдаваться простым текстом, без форматирования. xmlrpc_errors bool Если включена, то нормальное оповещение об ошибках отключается и, вместо него, ошибки выводятся в формате XML-RPC. xmlrpc_error_number int Используется в качестве значения XML-RPC элемента faultCode. docref_root string Новый формат ошибок содержит ссылку на страницу с описанием ошибки или функции, вызвавшей эту ошибку. Можно разместить копию описаний ошибок и функций локально и задать ini директиве значение URL этой копии. Если, например, локальная копия описаний доступна по адресу "/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" В большинстве случаев вам потребуется, чтобы значение docref_root оканчивалось слешем "/". Тем не менее, бывают случаи, когда это не требуется (смотрите выше, второй пример). Эта функциональность предназначена только для разработки, так как он облегчает поиск описаний функций и ошибок. Не используйте его в готовых производственных системах (например, имеющих доступ в интернет). docref_ext string Смотрите docref_root. Значение docref_ext должно начинаться с точки ".". error_prepend_string string Строка, которая будет выводиться непосредственно перед сообщением об ошибке. Используется только тогда, когда на экране отображается сообщение об ошибке. Основная цель - добавить дополнительную HTML-разметку к сообщению об ошибке. error_append_string string Строка, которая будет выводиться после сообщения об ошибке. Используется только тогда, когда на экране отображается сообщение об ошибке. Основная цель - добавить дополнительную HTML-разметку к сообщению об ошибке. error_log string Имя файла, в который будут добавляться сообщения об ошибках. Файл должен быть открыт для записи пользователем веб-сервера. Если используется специальное значение syslog, то сообщения будут посылаться в системный журнал. На Unix-системах это syslog(3), на Windows NT - журнал событий. Смотрите также: syslog. Если директива не задана, ошибки будут направляться в SAPI журналы. Например, это могут быть журналы ошибок Apache или поток stderr командной строки CLI. Смотрите также функцию error_log. error_log_mode int Режим файла, описанного в error_log. syslog.facility string Указывает, какой тип программы регистрирует сообщение. Действует только в том случае, если опция error_log установлена в "syslog". syslog.filter string Указывает тип фильтра для фильтрации регистрируемых сообщений. Разрешённые символы передаются без изменений; все остальные записываются в шестнадцатеричном представлении с префиксом \x. all – строка будет разделена на символы новой строки и все символы будут переданы без изменений ascii – строка будет разделена на символы новой строки, а любые непечатаемые 7-битные символы ASCII будут экранированы no-ctrl – строка будет разделена на символы новой строки, а любые непечатаемые символы будут экранированы raw – все символы передаются в системный журнал без изменений, без разделения на новые строки (идентично PHP до 7.3) Параметр влияет на ведение журнала через error_log установленного в "syslog" и вызовы syslog. Тип фильтра raw доступен начиная с PHP 7.3.8 и PHP 7.4.0. Директива не поддерживается в Windows. syslog.ident string Определяет строку идентификатора, которая добавляется к каждому сообщению. Действует только в том случае, если опция error_log установлена в "syslog".