PHP Error 和 Logging 函数
<div id="article_content" class="article_content clearfix"><link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css">
<div id="content_views" class="htmledit_views">
<h2>PHP Error 和 Logging 简介</h2>
<p>Error 和 Logging 函数允许您对错误进行处理和记录。</p>
<p>Error 函数允许用户定义错误处理规则,并修改记录错误的方式。</p>
<p>Logging 函数允许用户对应用程序进行日志记录,并把日志消息发送到电子邮件、系统日志或其他的机器。</p>
<hr>
<h2>执行配置</h2>
<p>error 函数受 php.ini 配置文件影响。</p>
<p>错误和日志配置选项:</p>
<table><tbody><tr><th>参数</th><th>默认值</th><th>描述</th><th>可修改范围</th></tr><tr><td>error_reporting</td><td>NULL</td><td>设置 PHP 的报错级别并返回当前级别(数字或常量)。</td><td>PHP_INI_ALL</td></tr><tr><td>display_errors</td><td>"1"</td><td>该选项设置是否将错误信息作为输出的一部分显示到屏幕,或者对用户隐藏而不显示。<br><strong>注意:</strong> 该特性不要在上线生产环境中使用 (在开发测试过程中使用)</td><td>PHP_INI_ALL</td></tr><tr><td>display_startup_errors</td><td>"0"</td><td>即使 display_errors 设置为开启, PHP 启动过程中的错误信息也不会被显示。强烈建议除了调试目的以外,将 display_startup_errors 设置为关闭。</td><td>PHP_INI_ALL</td></tr><tr><td>log_errors</td><td>"0"</td><td>设置是否将脚本运行的错误信息记录到服务器错误日志或者error_log之中。注意,这是与服务器相关的特定配置项。</td><td>PHP_INI_ALL</td></tr><tr><td>log_errors_max_len</td><td>"1024"</td><td>设置 log_errors 的最大字节数. 在 error_log 会添加有关错误源的信息。默认值为1024,如果设置为0表示不限长度。该长度设置对记录的错误,显示的错误,以及 $php_errormsg都会有限制作用。</td><td>PHP_INI_ALL</td></tr><tr><td>ignore_repeated_errors</td><td>"0"</td><td>不记录重复的信息。重复的错误必须出现在同一个文件中的同一行代码上,除非 ignore_repeated_source 设置为true。</td><td>PHP_INI_ALL</td></tr><tr><td>ignore_repeated_source</td><td>"0"</td><td>忽略重复消息时,也忽略消息的来源。当该设置开启时,重复信息将不会记录它是由不同的文件还是不同的源代码行产生的。</td><td>PHP_INI_ALL</td></tr><tr><td>report_memleaks</td><td>"1"</td><td>如果这个参数设置为Off,则内存泄露信息不会显示 (在 stdout 或者日志中)。</td><td>PHP_INI_ALL</td></tr><tr><td>track_errors</td><td>"0"</td><td>如果开启,最后的一个错误将永远存在于变量 $php_errormsg 中。</td><td>PHP_INI_ALL</td></tr><tr><td>html_errors</td><td>"1"</td><td>在错误信息中关闭HTML标签。</td><td>PHP_INI_ALL<br> PHP_INI_SYSTEM in PHP <= 4.2.3.</td></tr><tr><td>xmlrpc_errors</td><td>"0"</td><td>关闭正常的错误报告,并将错误的格式设置为XML-RPC错误信息的格式。</td><td>PHP_INI_SYSTEM</td></tr><tr><td>xmlrpc_error_number</td><td>"0"</td><td>用作 XML-RPC faultCode 元素的值。</td><td>PHP_INI_ALL</td></tr><tr><td>docref_root</td><td>""</td><td>新的错误信息格式包含了对应的参考页面,该页面对错误进行具体描述,或者描述了导致该错误发生的函数。<br> 为了提供手册的页面,你可以在PHP官方站点下载对应语言的手册,并在ini中设置网址到本地对应的地址。<br> 如果你的本地手册拷贝可以使用"/manual/" 访问,你就可以简单的设置 docref_root=/manual/。<br> 另外你还需要设置 docref_ext 匹配你本地文件的后缀名 docref_ext=.html。当然也可以设置一个外部的参考地址。<br> 例如你可以设置 docref_root=http://manual/en/ 或者 docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"</td><td>PHP_INI_ALL</td></tr><tr><td>docref_ext</td><td>""</td><td>参见 docref_root.</td><td>PHP_INI_ALL</td></tr><tr><td>error_prepend_string</td><td>NULL</td><td>错误信息之前输出的内容。</td><td>PHP_INI_ALL</td></tr><tr><td>error_append_string</td><td>NULL</td><td>错误信息之后输出的内容。</td><td>PHP_INI_ALL</td></tr><tr><td>error_log</td><td>NULL</td><td>设置脚本错误将被记录到的文件。该文件必须是web服务器用户可写的。</td><td>PHP_INI_ALL</td></tr></tbody></table>
<hr>
<h2>安装</h2>
<p>Error 和 Logging 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。</p>
<hr>
<h2>PHP Error 和 Logging 函数</h2>
<p><strong>PHP</strong>:指示支持该函数的最早的 PHP 版本。</p>
<table><tbody><tr><th>函数</th><th>描述</th><th>PHP</th></tr><tr><td><ahref="https://www.runoob.com/php/func-error-debug-backtrace.html">debug_backtrace()</a></td><td>生成 backtrace。</td><td>4</td></tr><tr><td><ahref="https://www.runoob.com/php/func-error-debug-print-backtrace.html">debug_print_backtrace()</a></td><td>打印 backtrace。</td><td>5</td></tr><tr><td><ahref="https://www.runoob.com/php/func-error-get-last.html">error_get_last()</a></td><td>获得最后发生的错误。</td><td>5</td></tr><tr><td><ahref="https://www.runoob.com/php/func-error-log.html">error_log()</a></td><td>向服务器错误记录、文件或远程目标发送一个错误。</td><td>4</td></tr><tr><td><ahref="https://www.runoob.com/php/func-error-reporting.html">error_reporting()</a></td><td>规定报告哪个错误。</td><td>4</td></tr><tr><td><ahref="https://www.runoob.com/php/func-error-restore-error-handler.html">restore_error_handler()</a></td><td>恢复之前的错误处理程序。</td><td>4</td></tr><tr><td><ahref="https://www.runoob.com/php/func-error-restore-exception-handler.html">restore_exception_handler()</a></td><td>恢复之前的异常处理程序。</td><td>5</td></tr><tr><td><ahref="https://www.runoob.com/php/func-error-set-error-handler.html">set_error_handler()</a></td><td>设置用户自定义的错误处理函数。</td><td>4</td></tr><tr><td><ahref="https://www.runoob.com/php/func-error-set-exception-handler.html">set_exception_handler()</a></td><td>设置用户自定义的异常处理函数。</td><td>5</td></tr><tr><td><ahref="https://www.runoob.com/php/func-error-trigger-error.html">trigger_error()</a></td><td>创建用户自定义的错误消息。</td><td>4</td></tr><tr><td><ahref="https://www.runoob.com/php/func-error-user-error.html">user_error()</a></td><td>trigger_error() 的别名。</td><td>4</td></tr></tbody></table>
<p></p>
<hr>
<h2>PHP Error 和 Logging 常量</h2>
<p><strong>PHP</strong>:指示支持该常量的最早的 PHP 版本。</p>
<table><tbody><tr><th>值</th><th>常量</th><th>描述</th><th>PHP</th></tr><tr><td>1</td><td>E_ERROR</td><td>运行时致命的错误。不能修复的错误。停止执行脚本。</td><td></td></tr><tr><td>2</td><td>E_WARNING</td><td>运行时非致命的错误。没有停止执行脚本。</td><td></td></tr><tr><td>4</td><td>E_PARSE</td><td>编译时的解析错误。解析错误应该只由解析器生成。</td><td></td></tr><tr><td>8</td><td>E_NOTICE</td><td>运行时的通知。脚本发现可能是一个错误,但也可能在正常运行脚本时发生。</td><td></td></tr><tr><td>16</td><td>E_CORE_ERROR</td><td>PHP 启动时的致命错误。这就如同 PHP 核心的 E_ERROR。</td><td>4</td></tr><tr><td>32</td><td>E_CORE_WARNING</td><td>PHP 启动时的非致命错误。这就如同 PHP 核心的 E_WARNING。</td><td>4</td></tr><tr><td>64</td><td>E_COMPILE_ERROR</td><td>编译时致命的错误。这就如同由 Zend 脚本引擎生成的 E_ERROR。</td><td>4</td></tr><tr><td>128</td><td>E_COMPILE_WARNING</td><td>编译时非致命的错误。这就如同由 Zend 脚本引擎生成的 E_WARNING。</td><td>4</td></tr><tr><td>256</td><td>E_USER_ERROR</td><td>用户生成的致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_ERROR。</td><td>4</td></tr><tr><td>512</td><td>E_USER_WARNING</td><td>用户生成的非致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_WARNING。</td><td>4</td></tr><tr><td>1024</td><td>E_USER_NOTICE</td><td>用户生成的通知。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_NOTICE。</td><td>4</td></tr><tr><td>2048</td><td>E_STRICT</td><td>运行时的通知。PHP 建议您改变代码,以提高代码的互用性和兼容性。</td><td>5</td></tr><tr><td>4096</td><td>E_RECOVERABLE_ERROR</td><td>可捕获的致命错误。这就如同一个可以由用户定义的句柄捕获的 E_ERROR(见 set_error_handler())。</td><td>5</td></tr><tr><td>6143</td><td>E_ALL</td><td>所有的错误和警告的级别,除了 E_STRICT(自 PHP 6.0 起,E_STRICT 将作为 E_ALL的一部分)。</td></tr></tbody></table>
</div>
</div>
<div id="treeSkill"></div>
页:
[1]