-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy patherror-log.xml
208 lines (199 loc) · 6.31 KB
/
error-log.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
<?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,
}
// 调用 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
-->