1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 07:42:22 +01:00
Files

224 lines
8.6 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 769812c12f00c1978bf7dd711dca38dbf05462da Maintainer: mch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.error-log" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>error_log</refname>
<refpurpose>Отправляет сообщение об ошибке заданному обработчику ошибок</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>error_log</methodname>
<methodparam><type>string</type><parameter>message</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>message_type</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>destination</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>additional_headers</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Функция отправляет сообщение об ошибке в журнал ошибок веб-сервера или в файл.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>message</parameter></term>
<listitem>
<para>
Сообщение об ошибке, которое требуется записать.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message_type</parameter></term>
<listitem>
<para>
Определяет, куда отправлять ошибку.
Параметр принимает следующие типы сообщений об ошибках:
</para>
<para>
<table>
<title>Типы журналов функции <function>error_log</function></title>
<tgroup cols="2">
<tbody>
<row>
<entry>0</entry>
<entry>
Сообщение <parameter>message</parameter> отправляется в системный регистратор PHP,
который перенаправляет ошибку в механизм системного логирования операционной системы
или записывает в файл, в зависимости от значения директивы
<link linkend="ini.error-log">error_log</link>
в конфигурационном файле. Параметр принимает это значение по умолчанию.
</entry>
</row>
<row>
<entry>1</entry>
<entry>
Сообщение <parameter>message</parameter> отправляется по электронной почте на адрес,
который установили в параметре <parameter>destination</parameter>.
Это единственный тип сообщения, который использует четвёртый параметр —
<parameter>additional_headers</parameter>.
</entry>
</row>
<row>
<entry>2</entry>
<entry>
Параметр больше не принимает это значение.
</entry>
</row>
<row>
<entry>3</entry>
<entry>
Сообщение <parameter>message</parameter> добавляется в файл,
путь к которому указали в параметре <parameter>destination</parameter>.
Символ новой строки не добавляется автоматически
в конец строки сообщения <parameter>message</parameter>.
</entry>
</row>
<row>
<entry>4</entry>
<entry>
Сообщение <parameter>message</parameter> отправляется непосредственно
в SAPI-обработчик сообщений, которые требуется записать в журнал.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>destination</parameter></term>
<listitem>
<para>
Назначение. Значение зависит от параметра
<parameter>message_type</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>additional_headers</parameter></term>
<listitem>
<para>
Дополнительные заголовки. Функция использует параметр, когда значение
параметра <parameter>message_type</parameter> устанавливают равным <literal>1</literal>.
Тип сообщения использует ту же внутреннюю функцию, что и
функция <function>mail</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
Функция возвращает логическое значение &true;
независимо от результата логирования ошибки,
если тип сообщения <parameter>message_type</parameter> равен 0.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
Параметры <parameter>destination</parameter>
и <parameter>additional_headers</parameter> теперь принимают значение null.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example role="php">
<title>Примеры использования функции <function>error_log</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Отправляет уведомление через лог сервера, если не получается
// подключиться к базе данных
if (!Ora_Logon($username, $password)) {
error_log("База данных Oracle недоступна!", 0);
}
// Уведомляет администратора по электронной почте, если закончились FOO
if (!($foo = allocate_new_foo())) {
error_log("Большая беда, у нас закончились FOO!", 1,
"operator@example.com");
}
// Другой способ вызвать функцию error_log():
error_log("Вы ошиблись!", 3, "/var/tmp/my-errors.log");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<simpara>
Функция <function>error_log</function> не бинарно-безопасна.
Сообщение <parameter>message</parameter> обрезается по null-символу.
</simpara>
</warning>
<tip>
<simpara>
Параметру <parameter>message</parameter> нельзя содержать null-символ.
Обратите внимание, сообщение <parameter>message</parameter> разрешается отправлять в файл,
по почте, в syslog и т. д. Перед вызовом функции <function>error_log</function>
сообщение преобразовывают или экранируют функциями, которые соответствуют типу сообщения:
<function>base64_encode</function>, <function>rawurlencode</function>
или <function>addslashes</function>.
</simpara>
</tip>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->