zoukankan      html  css  js  c++  java
  • PHP Error 和 Logging 函数

    PHP Error 和 Logging 函数


    PHP Error 和 Logging 简介

    Error 和 Logging 函数允许您对错误进行处理和记录。

    Error 函数允许用户定义错误处理规则,并修改记录错误的方式。

    Logging 函数允许用户对应用程序进行日志记录,并把日志消息发送到电子邮件、系统日志或其他的机器。


    执行配置

    error 函数受 php.ini 配置文件影响。

    错误和日志配置选项:

    参数默认值描述可修改范围
    error_reporting NULL 设置 PHP 的报错级别并返回当前级别(数字或常量)。 PHP_INI_ALL
    display_errors "1" 该选项设置是否将错误信息作为输出的一部分显示到屏幕,或者对用户隐藏而不显示。 
    注意: 该特性不要在上线生产环境中使用 (在开发测试过程中使用)
    PHP_INI_ALL
    display_startup_errors "0" 即使 display_errors 设置为开启, PHP 启动过程中的错误信息也不会被显示。强烈建议除了调试目的以外,将 display_startup_errors 设置为关闭。 PHP_INI_ALL
    log_errors "0" 设置是否将脚本运行的错误信息记录到服务器错误日志或者error_log之中。注意,这是与服务器相关的特定配置项。 PHP_INI_ALL
    log_errors_max_len "1024" 设置 log_errors 的最大字节数. 在 error_log 会添加有关错误源的信息。默认值为1024,如果设置为0表示不限长度。该长度设置对记录的错误,显示的错误,以及 $php_errormsg都会有限制作用。 PHP_INI_ALL
    ignore_repeated_errors "0" 不记录重复的信息。重复的错误必须出现在同一个文件中的同一行代码上,除非 ignore_repeated_source 设置为true。 PHP_INI_ALL
    ignore_repeated_source "0" 忽略重复消息时,也忽略消息的来源。当该设置开启时,重复信息将不会记录它是由不同的文件还是不同的源代码行产生的。 PHP_INI_ALL
    report_memleaks "1" 如果这个参数设置为Off,则内存泄露信息不会显示 (在 stdout 或者日志中)。 PHP_INI_ALL
    track_errors "0" 如果开启,最后的一个错误将永远存在于变量 $php_errormsg 中。 PHP_INI_ALL
    html_errors "1" 在错误信息中关闭HTML标签。 PHP_INI_ALL
    PHP_INI_SYSTEM in PHP <= 4.2.3.
    xmlrpc_errors "0" 关闭正常的错误报告,并将错误的格式设置为XML-RPC错误信息的格式。 PHP_INI_SYSTEM
    xmlrpc_error_number "0" 用作 XML-RPC faultCode 元素的值。 PHP_INI_ALL
    docref_root "" 新的错误信息格式包含了对应的参考页面,该页面对错误进行具体描述,或者描述了导致该错误发生的函数。
    为了提供手册的页面,你可以在PHP官方站点下载对应语言的手册,并在ini中设置网址到本地对应的地址。
    如果你的本地手册拷贝可以使用"/manual/" 访问,你就可以简单的设置 docref_root=/manual/。
    另外你还需要设置 docref_ext 匹配你本地文件的后缀名 docref_ext=.html。当然也可以设置一个外部的参考地址。
    例如你可以设置 docref_root=http://manual/en/ 或者 docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"
    PHP_INI_ALL
    docref_ext "" 参见 docref_root. PHP_INI_ALL
    error_prepend_string NULL 错误信息之前输出的内容。 PHP_INI_ALL
    error_append_string NULL 错误信息之后输出的内容。 PHP_INI_ALL
    error_log NULL 设置脚本错误将被记录到的文件。该文件必须是web服务器用户可写的。 PHP_INI_ALL

    安装

    Error 和 Logging 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。


    PHP Error 和 Logging 函数

    PHP:指示支持该函数的最早的 PHP 版本。

    函数描述PHP
    debug_backtrace() 生成 backtrace。 4
    debug_print_backtrace() 打印 backtrace。 5
    error_get_last() 获得最后发生的错误。 5
    error_log() 向服务器错误记录、文件或远程目标发送一个错误。 4
    error_reporting() 规定报告哪个错误。 4
    restore_error_handler() 恢复之前的错误处理程序。 4
    restore_exception_handler() 恢复之前的异常处理程序。 5
    set_error_handler() 设置用户自定义的错误处理函数。 4
    set_exception_handler() 设置用户自定义的异常处理函数。 5
    trigger_error() 创建用户自定义的错误消息。 4
    user_error() trigger_error() 的别名。 4


    PHP Error 和 Logging 常量

    PHP:指示支持该常量的最早的 PHP 版本。

    常量描述PHP
    1 E_ERROR 运行时致命的错误。不能修复的错误。停止执行脚本。  
    2 E_WARNING 运行时非致命的错误。没有停止执行脚本。  
    4 E_PARSE 编译时的解析错误。解析错误应该只由解析器生成。  
    8 E_NOTICE 运行时的通知。脚本发现可能是一个错误,但也可能在正常运行脚本时发生。  
    16 E_CORE_ERROR PHP 启动时的致命错误。这就如同 PHP 核心的 E_ERROR。 4
    32 E_CORE_WARNING PHP 启动时的非致命错误。这就如同 PHP 核心的 E_WARNING。 4
    64 E_COMPILE_ERROR 编译时致命的错误。这就如同由 Zend 脚本引擎生成的 E_ERROR。 4
    128 E_COMPILE_WARNING 编译时非致命的错误。这就如同由 Zend 脚本引擎生成的 E_WARNING。 4
    256 E_USER_ERROR 用户生成的致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_ERROR。 4
    512 E_USER_WARNING 用户生成的非致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_WARNING。 4
    1024 E_USER_NOTICE 用户生成的通知。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_NOTICE。 4
    2048 E_STRICT 运行时的通知。PHP 建议您改变代码,以提高代码的互用性和兼容性。 5
    4096 E_RECOVERABLE_ERROR 可捕获的致命错误。这就如同一个可以由用户定义的句柄捕获的 E_ERROR(见 set_error_handler())。 5
    6143 E_ALL 所有的错误和警告的级别,除了 E_STRICT(自 PHP 6.0 起,E_STRICT 将作为 E_ALL的一部分)。 5
     
     
  • 相关阅读:
    基础总结深入:数据类型的分类和判断(数据、内存、变量) 对象 函数 回调函数 IIFE 函数中的this 分号
    BOM 定时器 通过修改元素的类来改变css JSON
    事件 事件的冒泡 事件的委派 事件的绑定 事件的传播
    DOM修改 使用DOM操作CSS
    包装类 Date Math 字符串的相关的方法 正则表达式 DOM DOM查询
    数组 call()、apply()、bind()的使用 this arguments
    autocad 二次开发 最小包围圆算法
    win10 objectarx向导在 vs2015中不起作用的解决办法
    AutoCad 二次开发 jig操作之标注跟随线移动
    AutoCad 二次开发 文字镜像
  • 原文地址:https://www.cnblogs.com/u0mo5/p/4610167.html
Copyright © 2011-2022 走看看