Как настроить отображение ошибок в php

Содержание

Переопределение переменных конфигурационного файла php.ini с помощью функции ini_set()

После того, как мы включили режим отображения всех ошибок и предупреждений, их нужно выдать на экран при работе отлаживаемого скрипта. Этот режим отладки обычно выключен, поэтому его нужно включить, переопределив некоторые переменные конфигурационного файла с помощью функции , которая устанавливает значения переменных настройки конфигурации работы php.


Включение/отключение отображения ошибок при выполнении скрипта директивой 

Для того, чтобы увидеть отображение ошибок и предупреждений при выполнении скрипта, нужно выставить значение или директиве :

После того участка программы, которая требует отладки, можно снова отключить отображение ошибок php. Именно это и происходит в последней строке приведённого выше кода (возврат значения , которое используется в конфиге php по умолчанию):

Подсветка отображаемых ошибок и предупреждений, выдаваемых при включенном display_errors

В принципе, приведённого кода, описанного выше, достаточно. Но мне удобнее, когда ошибки выводятся другим цветом, чем основой вывод, генерируемый при работе отлаживаемого скрипта. Для этого необходимо экранировать выводимые ошибки и предупреждения HTML-кодом. Для этого я использовал простейшее изменение цвета выводимого шрифта с помощью тега , что конечно можно усложнить, вписав тот код, который наиболее подходит решаемой задаче, задав какие угодно css-стили для подсветки ошибок и предупреджений. Можно даже задать отдельный класс и выводить его из отдельного css-файла. Но, я решил не усложнять.

Директива задаёт строку, которая будет выводиться непосредственно перед сообщением об ошибке. В нашем коде она имеет вид:

Основы

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

Каждая ошибка, генерируемая PHP, обязательно содержит информацию о своем типе. В этом списке перечислены все типы ошибок, а также описания их поведений и провоцирующие их причины.

Обработка ошибок

PHP, по умолчанию, может обрабатывать любые ошибки в соответствии со своей конфигурацией, если обработчик ошибок не установлен. О каких ошибках сообщать и какие ошибки игнорировать указывается в параметре конфигурации php.ini, или во время исполнения программы с помощью вызова error_reporting(). Настоятельно рекомендуется заранее конфигурировать php.ini, так как некоторые ошибки могут произойти до начала выполнения вашего скрипта.

На стадии разработки, обязательно настройте параметр на значение , так как вам необходимо знать обо всех ошибках для их решения на этой стадии. Когда продукт готов, вы можете изменить значение на менее подробное, вроде , но во многих случаях значение также желательно, так как оно может предупреждать заранее о других возможных ошибках.

Дальнейшая работа PHP с появившимися ошибками зависит от двух других параметров в php.ini. Параметр определяет, включать ли данные ошибки в вывод скрипта или нет. Когда продукт готов, обязательно выключите этот параметр, так как в описании ошибки может содержаться конфиденциальная информация, вроде паролей базы данных. Во время разработки данный параметр лучше включить для решения проблем, провоцирующих ошибки.

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

Пользовательская обработка ошибок

Если вас не устраивает работа предустановленного обработчика ошибок, вы также можете обрабатывать множество видов ошибки с помощью своего обработчика, которого можно установить вызовом функции set_error_handler(). Некоторые ошибки не могут обрабатываться пользовательским обработчиком, но те, которые могут, обрабатываются по вашему желанию: например, ваш скрипт может выдавать пользователю любую отдельную страницу ошибки, а подробную информацию записывать в лог или отсылать по почте.

Резюме

Таким образом можно значительно упростить и ускорить написание правильно работающего php-кода

Важно помнить, что после отладки, лучше удалить все эти строки, отвечающие за отображение ошибок и предупреждений, из кода. То, как будет работать программа в продакшене, зависит от настроек того сервера, где она будет запускаться

У него собственный файл конфигурации php.ini и, наверняка, администратор сервера не зря их выставил так, чтобы они работали или были отключены. Не надо злить других админов, перепрописывая в своём коде заданные не вами значения. Если при этом все ошибки и предупреждения были исправлены, то вероятность того, что она будет глючить, — минимальна.

Отображать ошибки PHP через настройки в .htaccess

Включить или выключить отображение ошибок можно и с помощью файла .htaccess, расположенного в каталоге сайта.

.htaccess также имеет директивы для displaystartuperrors и display_errors.

Вы можете настроить displayerrors в .htaccess или в вашем файле PHP.ini. Однако многие хостинг-провайдеры не разрешают вам изменять ваш файл PHP.ini для включения displayerrors.

В файле .htaccess также можно включить настраиваемый журнал ошибок, если папка журнала или файл журнала доступны для записи. Файл журнала может быть относительным путем к месту расположения .htaccess или абсолютным путем, например .

Ошибка «Fatal error: Allowed memory size of XXX bytes exhausted»


Данная ошибка возникает, если в процессе работы скрипта была израсходована память, выделенная для его работы. Число в байтах сообщает текущее ограничение объема памяти. Это ограничение задается параметром memory_limit. Необходимо изменить параметр Максимальный объем памяти для работы скрипта (memory_limit)».

Если ошибка по-прежнему будет отображаться — это значит, что данный параметр переопределен в конфигурационных файлах или скриптах сайта.

В случае если скрипту недостаточно памяти при максимальном для тарифного плана значении memory_limit, это может означать, что работает он некорректно. В этом случае рекомендуем проконсультироваться с разработчиками скрипта.

运行时配置

这些函数的行为受 php.ini 中的设置影响。

错误和日志记录配置选项
名字 默认 可修改范围 更新日志
NULL PHP_INI_ALL  
«1» PHP_INI_ALL  
«0» PHP_INI_ALL  
«0» PHP_INI_ALL  
«1024» PHP_INI_ALL Available since PHP 4.3.0.
«0» PHP_INI_ALL Available since PHP 4.3.0.
«0» PHP_INI_ALL Available since PHP 4.3.0.
«1» PHP_INI_ALL Available since PHP 4.3.0.
«0» PHP_INI_ALL  
«1» PHP_INI_ALL PHP_INI_SYSTEM in PHP <= 4.2.3.
«0» PHP_INI_SYSTEM Available since PHP 4.1.0.
«0» PHP_INI_ALL Available since PHP 4.1.0.
«» PHP_INI_ALL Available since PHP 4.3.0.
«» PHP_INI_ALL Available since PHP 4.3.2.
NULL PHP_INI_ALL  
NULL PHP_INI_ALL  
NULL PHP_INI_ALL  
«LOG_USER» PHP_INI_SYSTEM Available as of PHP 7.3.0.
«no-ctrl» PHP_INI_ALL Available as of PHP 7.3.0.
«php» PHP_INI_SYSTEM Available as of PHP 7.3.0.

配置可被设定范围

这是配置指令的简短说明。

integer

设置错误报告的级别。该参数可以是一个任意的表示二进制位字段的整数,或者常数名称。错误级别和常数是在 预定义常量定义的,在 php.ini 之中也有专门的说明。在程序运行时,还可以通过 error_reporting() 函数进行设置。请查看 了解详情。

在 PHP5.3 及以上版本中,默认值为 & ~ & ~ & ~。 该设置不会显示 、 、 级错误提示。在开发时可以把它们显示出来。 在 PHP 5.3.0 以前版本中,默认值是 & ~ & ~。 在 PHP 4 中,默认值是 & ~。

string

该选项设置是否将错误信息作为输出的一部分显示到屏幕,或者对用户隐藏而不显示。

设置 «stderr» 表示发送到 stderr 而不是 stdout。 «stderr»从 PHP 5.2.4 开始可用。在以前的版本中,该配置值的类型为 boolean.

boolean

即使 display_errors 设置为开启, PHP 启动过程中的错误信息也不会被显示。强烈建议除了调试目的以外,将 display_startup_errors 设置为关闭。

boolean

设置是否将脚本运行的错误信息记录到服务器错误日志或者之中。注意,这是与服务器相关的特定配置项。

integer

设置 log_errors 的最大字节数. 在 会添加有关错误源的信息。默认值为1024,如果设置为0表示不限长度。该长度设置对记录的错误,显示的错误,以及 $php_errormsg都会有限制作用。

当使用 integer 时, 其值以字节来衡量。还可以使用在中描述的速记符。

boolean

不记录重复的信息。重复的错误必须出现在同一个文件中的同一行代码上,除非 设置为true。

boolean

忽略重复消息时,也忽略消息的来源。当该设置开启时,重复信息将不会记录它是由不同的文件还是不同的源代码行产生的。

boolean

如果这个参数设置为Off,则内存泄露信息不会显示 (在 stdout 或者日志中)。This report will be send to stderr on Posix platforms. On Windows, it will be send to the debugger using OutputDebugString(), and can be viewed with tools like » DbgView。这只对调试编译有效,而且需要 包含了 才会起作用

boolean

如果开启,最后的一个错误将永远存在于变量 $php_errormsg 中。

boolean

在错误信息中关闭HTML标签。这种新的HTML格式的错误信息是可以点击,它引导用户前往描述该错误或者导致该错误发生的函数的参考信息页面。 这些参考与 和 的设置有关。

boolean

关闭正常的错误报告,并将错误的格式设置为XML-RPC错误信息的格式。

integer

用作 XML-RPC faultCode 元素的值。

string

新的错误信息格式包含了对应的参考页面,该页面对错误进行具体描述,或者描述了导致该错误发生的函数。为了提供手册的页面,你可以在PHP官方站点下载对应语言的手册,并在ini中设置网址到本地对应的地址。如果你的本地手册拷贝可以使用»/manual/» 访问,你就可以简单的设置 。另外你还需要设置 docref_ext 匹配你本地文件的后缀名 。当然也可以设置一个外部的参考地址。例如你可以设置 或者

通常需要在 docref_root 后面以 «/»结尾, 但是在以上的第二种示例情况中不必这么设置。

string

参见 .

string

错误信息之前输出的内容。

string

错误信息之后输出的内容。

string

设置脚本错误将被记录到的文件。该文件必须是web服务器用户可写的。如果特殊值 syslog 被设置,则将错误信息发送到系统日志记录器。在Unix以及类似系统上,使用的是 syslog(3) ,而在 Windows NT 类系统上则为事件日志。Windows 95上不支持系统日志记录。参见: syslog(). 如果该配置没有设置,则错误信息会被发送到 SAPI 错误记录器。例如,出现在Apache的错误日志中,或者在CLI中发送到 stderr。

string

指定记录日志信息的程序类型,仅在 设置为 «syslog» 时有效。

string

Specifies the filter type to filter the logged messages. Allowed characters are passed unmodified; all others are written in their hexadecimal representation prefixed with \x. There are three supported filter types:

  • all – all characters
  • no-ctrl – all characters except control characters
  • ascii – all printable ASCII characters and NL
仅在 为 «syslog» 时有效。
string

设置每条日志消息前缀的识别字符串(ident string),仅在 为 «syslog» 时有效。

Включить ошибки php в файл с помощью функции error_log ()

У сайта на хостинге сообщения об ошибках не должны показываться конечным пользователям, но эта информация все равно должна быть записана в журнал (лог).

Простой способ использовать файлы журналов — использовать функцию error_log, которая принимает четыре параметра. Единственный обязательный параметр — это первый параметр, который содержит подробную информацию об ошибке или о том, что нужно регистрировать. Тип, назначение и заголовок являются необязательными параметрами.

Параметр type, если он не определен, будет по умолчанию равен 0, что означает, что эта информация журнала будет добавлена ​​к любому файлу журнала, определенному на веб-сервере.

Параметр 1 отправит журнал ошибок на почтовый ящик, указанный в третьем параметре. Чтобы эта функция работала, PHP ini должен иметь правильную конфигурацию SMTP, чтобы иметь возможность отправлять электронные письма. Эти SMTP-директивы ini включают хост, тип шифрования, имя пользователя, пароль и порт. Этот вид отчетов рекомендуется использовать для самых критичных ошибок.

Для записи сообщений в отдельный файл необходимо использовать тип 3. Третий параметр будет служить местоположением файла журнала и должен быть доступен для записи веб-сервером. Расположение файла журнала может быть относительным путем к тому, где этот код вызывается, или абсолютным путем.

Как быстро показать все ошибки PHP

Самый быстрый способ отобразить все ошибки и предупреждения php — добавить эти строки в файл PHP:

Что именно делают эти строки?


Функция ini_set попытается переопределить конфигурацию, найденную в вашем ini-файле PHP.

Displayerrors и displaystartuperrors — это только две из доступных директив. Директива displayerrors определяет, будут ли ошибки отображаться для пользователя. Обычно директива dispay_errors не должна использоваться для «боевого» режима работы сайта, а должна использоваться только для разработки.

displaystartuperrors — это отдельная директива, потому что displayerrors не обрабатывает ошибки, которые будут встречаться во время запуска PHP. Список директив, которые могут быть переопределены функцией iniset, находится в официальной документации .

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

Ошибка «Fatal error: Сall to undefined function»

Подобные ошибки возникают, если в конфигурации веб-сервера отсутствуют необходимые для работы сайта расширения PHP. Сообщение об ошибке содержит имя функции, по которой можно определить название расширения:

  • Fatal error: Call to undefined function simplexml_load_file() in … — требуется расширение simplexml,
  • Fatal error: Call to undefined function mb_detect_encoding() in … — требуется расширение mbstring,
  • Fatal error: Call to undefined function ctype_alpha() in … — требуется расширение ctype.

Подключить необходимое расширение вы можете в соответствии с инструкцией Выбор версии и расширения PHP.

Более подробно о функции error_reporting ()

Функция сообщения об ошибках — это встроенная функция PHP, которая позволяет разработчикам контролировать, какие ошибки будут отображаться. Помните, что в PHP ini есть директива error_reporting, которая будет задана ​​этой функцией во время выполнения.

Для удаления всех ошибок, предупреждений, сообщений и уведомлений передайте в функцию error_reporting ноль. Можно сразу отключить сообщения отчетов в ini-файле PHP или в .htaccess:

PHP позволяет использовать переменные, даже если они не объявлены. Это не стандартная практика, поскольку необъявленные переменные будут вызывать проблемы для приложения, если они используются в циклах и условиях.

Иногда это также происходит потому, что объявленная переменная имеет другое написание, чем переменная, используемая для условий или циклов. Когда ENOTICE передается в функцию errorreporting, эти необъявленные переменные будут отображаться.

Функция сообщения об ошибках позволяет вам фильтровать, какие ошибки могут отображаться. Символ «~» означает «нет», поэтому параметр ~ E_NOTICE означает не показывать уведомления

Обратите внимание на символы «&» и «|» между возможными параметрами. Символ «&» означает «верно для всех», в то время как символ «|» представляет любой из них, если он истинен


Эти два символа имеют одинаковое значение в условиях PHP OR и AND.

Эти три строки кода делают одно и то же, они будут отображать все ошибки PHP. Errorreporting(EALL) наиболее широко используется разработчиками для отображения ошибок, потому что он более читабелен и понятен.

Deprecated features in PHP 7.2.x

Unquoted strings

Unquoted strings that are non-existent global constants are taken to be strings of themselves. This behaviour used to emit an , but will now emit an . In the next major version of PHP, an Error exception will be thrown instead.

png2wbmp() and jpeg2wbmp()

The png2wbmp() and jpeg2wbmp() functions from the GD extension have now been deprecated and will be removed in the next major version of PHP.

variant

The Intl extension has deprecated the variant, which is currently being used as the default for idn_to_ascii() and idn_to_utf8(). PHP 7.4 will see these defaults changed to , and the next major version of PHP will remove altogether.

__autoload() method

The __autoload() method has been deprecated because it is inferior to spl_autoload_register() (due to it not being able to chain autoloaders), and there is no interoperability between the two autoloading styles.

ini setting and $php_errormsg variable

When the ini setting is enabled, a $php_errormsg variable is created in the local scope when a non-fatal error occurs. Given that the preferred way of retrieving such error information is by using error_get_last(), this feature has been deprecated.

create_function() function

Given the security issues of this function (being a thin wrapper around eval()), this dated function has now been deprecated. The preferred alternative is to use anonymous functions.

ini setting

Given the interoperability problems of string-based functions being used in environments with this setting enabled, it has now been deprecated.

(unset) cast

Casting any expression to this type will always result in , and so this superfluous casting type has now been deprecated.

parse_str() without a second argument

Without the second argument to parse_str(), the query string parameters would populate the local symbol table. Given the security implications of this, using parse_str() without a second argument has now been deprecated. The function should always be used with two arguments, as the second argument causes the query string to be parsed into an array.

gmp_random() function

This function generates a random number based upon a range that is calculated by an unexposed, platform-specific limb size. Because of this, the function has now been deprecated. The preferred way of generating a random number using the GMP extension is by gmp_random_bits() and gmp_random_range().

each() function

This function is far slower at iteration than a normal foreach, and causes implementation issues for some language changes. It has therefore been deprecated.

assert() with a string argument

Using assert() with a string argument required the string to be eval()’ed. Given the potential for remote code execution, using assert() with a string argument has now been deprecated in favour of using boolean expressions.

$errcontext argument of error handlers

The $errcontext argument contains all local variables of the error site. Given its rare usage, and the problems it causes with internal optimisations, it has now been deprecated. Instead, a debugger should be used to retrieve information on local variables at the error site.

error_reporting() — функция работы с уровнем протоколируемых ошибок

Функция задает значение директивы во время выполнения скрипта. В PHP есть много уровней ошибок. Используя эту функцию, можно задать уровень ошибок во время выполнения скрипта, которые попадут в отчет (или будут из него исключены). Если необязательный аргумент в скобках не задан, вернет текущее значение уровня протоколирования ошибок. Именно эта особенность позволяет сперва сохранить текущее значение уровня протоколирования, что мы и делаем в первой строчке, запоминая текущий уровень в переменную :

Во второй строчке меняем уровень протоколирования (вывода) ошибок на значение , воспользовавшись советом из официальной документации:

Это выглядит следующим образом:

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

Вместо содержимого сайта отображается пустая белая страница

Вы увидите пустую страницу, если в процессе работы скриптов произошла ошибка. По умолчанию на хостинге RU-CENTER отключен вывод ошибок в целях безопасности.

Для диагностики рекомендуем включить отображение ошибок в настройках модуля PHP. В этом случае вместо белого экрана появится сообщение, которое поможет понять, какие ошибки возникли при выполнении скриптов. Типичные ошибки и способы их устранения приведены в следующих разделах данной инструкции.

Чтобы включить отображение ошибок, в настройках модуля PHP включите параметры Обработка ошибок и журнализации error_reporting и Показывать ошибки посетителям сайта display_errors и сохраните изменения.

Если ошибка по-прежнему не будет отображаться — это значит, что вывод ошибок отключен в конфигурационных файлах или скриптах сайта. Для их включения рекомендуем проконсультироваться с разработчиками сайта либо обратиться к документации по используемой вами CMS.

実行時設定

php.ini の設定により動作が変化します。

エラーおよびロギング設定オプション
名前 デフォルト 変更可能 変更履歴
NULL PHP_INI_ALL  
«1» PHP_INI_ALL  
«0» PHP_INI_ALL  
«0» PHP_INI_ALL  
«1024» PHP_INI_ALL  
«0» PHP_INI_ALL  
«0» PHP_INI_ALL  
«1» PHP_INI_ALL  
«0» PHP_INI_ALL   PHP 7.2.0 以降では非推奨になりました。
«1» PHP_INI_ALL  
«0» PHP_INI_SYSTEM  
«0» PHP_INI_ALL  
«» PHP_INI_ALL  
«» PHP_INI_ALL  
NULL PHP_INI_ALL  
NULL PHP_INI_ALL  
NULL PHP_INI_ALL  
«LOG_USER» PHP_INI_SYSTEM PHP 7.3.0 以降で有効です。
«no-ctrl» PHP_INI_ALL PHP 7.3.0 以降で有効です。
«php» PHP_INI_SYSTEM PHP 7.3.0 以降で有効です。

どこで設定を行うのか

以下に設定ディレクティブの簡単な説明を示します。

integer

エラー出力レベルを設定します。パラメータは、あるビットフィールドを表 す整数か定数名で指定します。このerror_reportingのレベルと定数は、 定義済の定数および php.iniに記述されています。 実行時に設定するには、 error_reporting() 関数を指定してください。 ディレクティブも参照してください。

PHP 5.3 以降のデフォルトは & ~ & ~ & ~ です。 この設定では や 、そして レベルのエラーは出力されません。開発時にはこのエラーを表示させたい場合もあるかもしれません。 PHP 5.3.0 以前では、 & ~ & ~ がデフォルトです。

string

エラーをHTML出力の一部として画面に出力するかどうかを定義します。

«stderr» を指定すると、エラーの内容を stdout (標準出力) ではなく stderr (標準エラー出力) に送ります。この値は PHP 5.2.4 以降で使用可能です。それより前のバージョンでは、 このディレクティブは boolean 型でした。

boolean

display_errorsをonにした場合でも、PHPの起動シーケンスにおいて発 生したエラーは表示されません。デバッグ時を除き、 display_startup_errorsをoffにしておくことが強く推奨されます。

boolean

エラーメッセージを、サーバーのエラーログまたはに記録するかどうかを指定 します。このオプションはサーバーに依存します。

integer

log_errorsの最大長をバイト単位で設定します。 には、 この設定で情報が追加されます。デフォルトは 1024 で、0 を指定すると 最大長の制限は全く適用されなくなります。 この長さはエラーログへの記録や エラーの表示、そして $php_errormsg に適用されます。 しかし、明示的に呼び出される error_log() のような関数には適用されません。

integerを使用する際、 その値はバイト単位で測られます。 に記載された 短縮表記を使用することも可能です。

boolean

繰り返されるメッセージを記録しません。エラーの繰り返しは、 が trueに設定されるまで同じファイルの同じ行で発生します。

boolean

メッセージの繰り返しを無視する場合にメッセージのソースを無視しま す。この設定をOnにすると、異なるファイルまたはソース行からの同じ エラーメッセージの繰り返しを記録しなくなります。

boolean

このパラメータを On (デフォルト) にすると、Zend メモリマネージャーが検出した メモリリークの報告を表示します。この報告は、Posix プラットフォームでは標準エラー出力に送られます。 Windows では、デバッガに OutputDebugString() を使って送られ、 » DbgView のようなツールで見ることができます。 このパラメータが使えるのはデバッグビルドだけであり、かつ error_reporting で を有効にしている場合のみです。

boolean

有効にした場合、直近のエラーメッセージが、 $php_errormsg 変数に常に代入されます。

boolean

有効にすると、エラーメッセージにHTMLタグが含まれるようになります。 HTML形式のエラーメッセージでは、ユーザーがエラーまたはエラーを発生した関数を説明するページ に導くようクリック可能なメッセージを出力します。これらのリファレ ンスは、 およ び の設定に依存 します。

無効にすると、エラーメッセージは単なるプレーンテキストになります。

boolean

有効にすると、通常のエラー報告を無効にして XML-RPC 形式のエラーメッセージとします。

integer

XML-RPC の faultCode 要素の値として使用します。

string

新しいエラーフォーマットはエラーやエラーの原因となった関数に関するマニュアル のページの情報を含んでいます。マニュアルのページによっては母国語でダウンロードが 可能であり、このiniディレクティブをマニュアルのローカルコピーのURLにセット することができます。 マニュアルのローカルコピーが «/manual/» でアクセスできるとすると、単に とするだけです。 ローカルコピーのファイルの拡張子は で指定できます。拡張リファレンスを使用することもできます。例えば または が使用できます。

ほとんどの場合 docref_root の値の最後を «/» にしようと思うでしょう。 しかし上の二つ目の例を見ではその必要はありません。

string

を参照して下さ い。

string

エラーメッセージの前に出力する文字列。

string

エラーメッセージの後に出力する文字列。

string

スクリプトエラーが記録されるファイル名です。 ファイルはウェブサーバーユーザーで書き込めなければなりません。 syslog が指定されると、エラーはファイルではなく システムロガーに送られます。これは Unix では syslog(3) であり Windows ではイベントログのことです。 syslog() も参照してください。 このディレクティブが設定されていない場合、エラーは SAPI エラーロガーに送信されます。これは、例えば Apache のエラーログ、 あるいは CLI なら stderr になります。 error_log() も参照ください。

string

どの種類のプログラムがメッセージを記録するのかを指定します。 が «syslog» の場合にだけ有効です。

string

記録されたメッセージをフィルタリングするフィルターの種類を指定します。 フィルターで許可された文字はそのまま記録されますが、許可されていない文字は \x で始まる十六進表記に変換して記録されます。 サポートするフィルターは次の三種類です。

  • all – すべての文字を許可する
  • no-ctrl – 制御文字以外のすべての文字を許可する
  • ascii – 印刷可能な ASCII 文字および NL だけを許可する
が «syslog» の場合にだけ有効です。
string

すべての文字列の先頭に追加する識別用文字列を指定します。 が «syslog» の場合にだけ有効です。


С этим читают