uTools-Manuals/docs/php/error_log.html
2019-04-28 19:00:34 +08:00

215 lines
8.8 KiB
HTML
Raw 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.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>发送错误信息到某个地方</title>
</head>
<body class="docs"><div id="layout">
<div id="layout-content"><div id="function.error-log" class="refentry">
<div class="refnamediv">
<h1 class="refname">error_log</h1>
<p class="verinfo">(PHP 4, PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">error_log</span> &mdash; <span class="dc-title">发送错误信息到某个地方</span></p>
</div>
<div class="refsect1 description" id="refsect1-function.error-log-description">
<h3 class="title">说明</h3>
<div class="methodsynopsis dc-description">
<span class="methodname"><strong>error_log</strong></span>
( <span class="methodparam"><span class="type">string</span> <code class="parameter">$message</code></span>
[, <span class="methodparam"><span class="type">int</span> <code class="parameter">$message_type</code><span class="initializer"> = 0</span></span>
[, <span class="methodparam"><span class="type">string</span> <code class="parameter">$destination</code></span>
[, <span class="methodparam"><span class="type">string</span> <code class="parameter">$extra_headers</code></span>
]]] ) : <span class="type">bool</span></div>
<p class="para rdfs-comment">
把错误信息发送到 web 服务器的错误日志,或者到一个文件里。
</p>
</div>
<div class="refsect1 parameters" id="refsect1-function.error-log-parameters">
<h3 class="title">参数</h3>
<p class="para">
<dl>
<dt>
<code class="parameter">message</code></dt>
<dd>
<p class="para">
应该被记录的错误信息。
</p>
</dd>
<dt>
<code class="parameter">message_type</code></dt>
<dd>
<p class="para">
设置错误应该发送到何处。可能的信息类型有以下几个:
</p>
<p class="para">
<table class="doctable table">
<caption><strong><span class="function"><strong>error_log()</strong></span> 日志类型</strong></caption>
<tbody class="tbody">
<tr>
<td>0</td>
<td>
<code class="parameter">message</code> 发送到 PHP 的系统日志,使用
操作系统的日志机制或者一个文件,取决于
<a href="errorfunc.configuration.html#ini.error-log" class="link">error_log</a> 指令设置了什么。
这是个默认的选项。
</td>
</tr>
<tr>
<td>1</td>
<td>
<code class="parameter">message</code> 发送到参数 <code class="parameter">destination</code>
设置的邮件地址。
第四个参数 <code class="parameter">extra_headers</code> 只有在这个类型里才会被用到。
</td>
</tr>
<tr>
<td>2</td>
<td>
不再是一个选项。
</td>
</tr>
<tr>
<td>3</td>
<td>
<code class="parameter">message</code> 被发送到位置为 <code class="parameter">destination</code> 的文件里。
字符 <code class="parameter">message</code> 不会默认被当做新的一行。
</td>
</tr>
<tr>
<td>4</td>
<td>
<code class="parameter">message</code> 直接发送到 SAPI 的日志处理程序中。
</td>
</tr>
</tbody>
</table>
</p>
</dd>
<dt>
<code class="parameter">destination</code></dt>
<dd>
<p class="para">
目标。它的含义描述于以上,由
<code class="parameter">message_type</code> 参数所决定。
</p>
</dd>
<dt>
<code class="parameter">extra_headers</code></dt>
<dd>
<p class="para">
额外的头。当 <code class="parameter">message_type</code>
设置为 <em>1</em> 的时候使用。
该信息类型使用了 <span class="function"><a href="mail.html" class="function">mail()</a></span> 的同一个内置函数。
</p>
</dd>
</dl>
</p>
</div>
<div class="refsect1 returnvalues" id="refsect1-function.error-log-returnvalues">
<h3 class="title">返回值</h3>
<p class="para">
成功时返回 <strong><code>TRUE</code></strong> 或者在失败时返回 <strong><code>FALSE</code></strong>
</p>
</div>
<div class="refsect1 notes" id="refsect1-function.error-log-notes">
<h3 class="title">注释</h3>
<div class="warning"><strong class="warning">Warning</strong>
<p class="simpara">
<span class="function"><strong>error_log()</strong></span> 并非二进制安全的。null 字符可能截断 <code class="parameter">message</code>
</p>
</div>
<div class="tip"><strong class="tip">Tip</strong>
<p class="simpara">
<code class="parameter">message</code> 不能包含 null 字符。
注意,<code class="parameter">message</code> 可能会发送到文件、邮件、syslog 等。
所以在调用 <span class="function"><strong>error_log()</strong></span> 前需要使用适合的转换/转义函数: <span class="function"><a href="base64_encode.html" class="function">base64_encode()</a></span><span class="function"><a href="rawurlencode.html" class="function">rawurlencode()</a></span><span class="function"><a href="addslashes.html" class="function">addslashes()</a></span>
</p>
</div>
</div>
<div class="refsect1 examples" id="refsect1-function.error-log-examples">
<h3 class="title">范例</h3>
<p class="para">
<div class="example" id="example-460">
<p><strong>Example #1 <span class="function"><strong>error_log()</strong></span> 范例</strong></p>
<div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;如果无法连接到数据库,发送通知到服务器日志<br /></span><span style="color: #007700">if&nbsp;(!</span><span style="color: #0000BB">Ora_Logon</span><span style="color: #007700">(</span><span style="color: #0000BB">$username</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$password</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">error_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"Oracle&nbsp;database&nbsp;not&nbsp;available!"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;如果用尽了&nbsp;FOO通过邮件通知管理员<br /></span><span style="color: #007700">if&nbsp;(!(</span><span style="color: #0000BB">$foo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">allocate_new_foo</span><span style="color: #007700">()))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">error_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"Big&nbsp;trouble,&nbsp;we're&nbsp;all&nbsp;out&nbsp;of&nbsp;FOOs!"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"operator@example.com"</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;调用&nbsp;error_log()&nbsp;的另一种方式:<br /></span><span style="color: #0000BB">error_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"You&nbsp;messed&nbsp;up!"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"/var/tmp/my-errors.log"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</pre></div>
</div>
</div>
</p>
</div>
<div class="refsect1 changelog" id="refsect1-function.error-log-changelog">
<h3 class="title">更新日志</h3>
<p class="para">
<table class="doctable informaltable">
<thead>
<tr>
<th>版本</th>
<th>说明</th>
</tr>
</thead>
<tbody class="tbody">
<tr>
<td>5.2.7</td>
<td>
可能的值4添加到了 <code class="parameter">message_type</code>
</td>
</tr>
</tbody>
</table>
</p>
</div>
</div></div></div></body></html>