mirror of
https://github.com/php/doc-zh.git
synced 2026-03-24 15:12:20 +01:00
* Update debug-backtrace.xml * Update debug-print-backtrace.xml * Update error-clear-last.xml * Update error-get-last.xml * Update error-log.xml * Update restore-error-handler.xml * Update restore-exception-handler.xml * Update set-error-handler.xml * Update set-exception-handler.xml * Update trigger-error.xml * Update set-exception-handler.xml * Update restore-exception-handler.xml
209 lines
6.3 KiB
XML
209 lines
6.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- $Revision$ -->
|
||
<!-- EN-Revision: 769812c12f00c1978bf7dd711dca38dbf05462da Maintainer: daijie Status: ready -->
|
||
<!-- CREDITS: mowangjuanzi -->
|
||
<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>
|
||
把错误信息发送到 web 服务器的错误日志,或者到一个文件里。
|
||
</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;如果 <parameter>message_type</parameter> 是 0,此函数始终返回
|
||
&true;,无论是否可以记录错误。
|
||
</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 database not available!", 0);
|
||
}
|
||
|
||
// 如果用尽了 FOO,通过邮件通知管理员
|
||
if (!($foo = allocate_new_foo())) {
|
||
error_log("Big trouble, we're all out of FOOs!", 1,
|
||
"operator@example.com");
|
||
}
|
||
|
||
// 调用 error_log() 的另一种方式:
|
||
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="notes">
|
||
&reftitle.notes;
|
||
<warning>
|
||
<simpara>
|
||
<function>error_log</function> 并非二进制安全的。null 字符可能截断 <parameter>message</parameter>。
|
||
</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
|
||
-->
|