轻松上手,快乐学习!

PHP 教程

PHP 教程PHP 简介PHP 下载安装PHP 语法PHP 注释PHP 变量PHP Echo / PrintPHP 数据类型PHP 字符串PHP 数值PHP MathPHP 常量PHP 运算符PHP If...ElsePHP SwitchPHP 循环While 循环Do While 循环For 循环Foreach 循环Break/ContinuePHP 函数PHP 数组索引数组关联数组多维数组数组排序PHP 全局变量$GLOBALS$_SERVER$_REQUEST$_POST$_GETPHP 正则表达式PHP 表单处理PHP 表单验证PHP 表单验证必填字段PHP 表单验证URL/E-mailPHP 表单验证实例PHP 日期和时间PHP IncludePHP 文件处理PHP 文件打开/读取PHP 文件创建/写入PHP 文件上传PHP CookiesPHP SessionsPHP FiltersPHP Filters AdvancedPHP 回调函数PHP JSONPHP 异常处理PHP 什么是 OOPPHP 类和对象PHP 构造函数PHP 析构函数PHP 访问修饰符PHP 继承PHP 类常量PHP 抽象类PHP 接口PHP 特征PHP 静态方法PHP 静态属性PHP 命名空间PHP 可迭代对象MySQL DatabaseMySQL ConnectMySQL Create DBMySQL Create TableMySQL Insert DataMySQL Get Last IDMySQL Insert MultipleMySQL PreparedMySQL Select DataMySQL WhereMySQL Order ByMySQL Delete DataMySQL Update DataMySQL Limit DataPHP XML ParsersPHP SimpleXML ParserPHP SimpleXML - GetPHP XML ExpatPHP XML DOMAJAX IntroAJAX PHPAJAX DatabaseAJAX XMLAJAX Live SearchAJAX PollPHP 实例PHP 编译器PHP 测验PHP 练习

PHP 参考手册

PHP 概述PHP ArrayPHP CalendarPHP DatePHP DirectoryPHP ErrorPHP ExceptionPHP FilesystemPHP FilterPHP FTPPHP JSONPHP KeywordsPHP LibxmlPHP MailPHP MathPHP MiscPHP MySQLiPHP NetworkPHP Output ControlPHP RegExPHP SimpleXMLPHP StreamPHP StringPHP Variable HandlingPHP XML ParserPHP ZipPHP Timezones


PHP Error 函数


PHP Error 函数简介

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

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

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

error 函数用于完成错误处理和日志记录。

error 函数允许我们定义自己的错误处理规则,并修改错误记录方式。

logging 函数允许我们将消息直接发送到其他机器、电邮或系统日志。

error reporting 函数允许我们错误的类型和层级。


安装

PHP error 函数是 PHP 核心的一部分。无需安装即可使用这些函数。


Runtime 配置

error 函数的行为受到 php.ini 中设置的影响。

Errors 和 logging 配置选项如下:

名称 默认值 描述 可修改范围
error_reporting NULL 设置错误报告级别(整数或命名常量) 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 之中。

注释:这是与服务器相关的特定配置项。

注释:在生产系统中,强烈建议你使用错误日志记录web站点上显示的错误信息。

PHP_INI_ALL
log_errors_max_len "1024"

设置 log_errors 的最大字节数。在 error_log 会添加有关错误源的信息。

默认值为 1024,如果设置为 0 表示不限长度。

该长度设置对记录的错误,显示的错误,以及 $php_errormsg 都会有限制作用。

(available since PHP 4.3)
PHP_INI_ALL
ignore_repeated_errors "0"

规定是否记录重复的错误信息。

重复的错误必须出现在同一个文件中的同一行代码上,除非 ignore_repeated_source 设置为 true。

(available since PHP 4.3)
PHP_INI_ALL
ignore_repeated_source "0"

规定是否记录重复的错误信息。忽略重复消息时,也忽略消息的来源。

当该设置开启时,重复信息将不会记录它是由不同的文件还是不同的源代码行产生的。

(available since PHP 4.3)
PHP_INI_ALL
report_memleaks "1" 如果该参数被设置为 On(默认),则会显示由 Zend 内存管理器侦测到的内存泄露报告。 (available since PHP 4.3) 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 错误信息的格式。 (available since PHP 4.1) PHP_INI_SYSTEM
xmlrpc_error_number "0" 用作 XML-RPC faultCode 元素的值。(available since PHP 4.1) PHP_INI_ALL
docref_root "" (available since PHP 4.3) PHP_INI_ALL
docref_ext "" (available since PHP 4.3.2) PHP_INI_ALL
error_prepend_string NULL 规定错误信息之前输出的字符串。 PHP_INI_ALL
error_append_string NULL 规定错误信息之后输出的字符串。 PHP_INI_ALL
error_log NULL

设置脚本错误将被记录到的文件。该文件必须是 web 服务器用户可写的。

如果使用了特殊值 syslog,则将错误信息发送到系统日志记录器。

PHP_INI_ALL

PHP Error 和 Logging 函数

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

PHP 预定义错误和日志常量

常量 描述
1 E_ERROR 运行时致命的错误。不能修复的错误。终止执行脚本。
2 E_WARNING 运行时非致命的错误。不终止执行脚本。
4 E_PARSE 编译时语法解析错误。解析错误仅仅由分析器产生。
8 E_NOTICE 运行时通知。表示脚本遇到可能会表现为错误的情况,但是在可以正常运行的脚本里面也可能会有类似的通知。
16 E_CORE_ERROR 在 PHP 初始化启动过程中发生的致命错误。该错误类似 E_ERROR,但是是由 PHP 引擎核心产生的。
32 E_CORE_WARNING PHP 初始化启动过程中发生的警告 (非致命错误) 。类似 E_WARNING,但是是由 PHP 引擎核心产生的。
64 E_COMPILE_ERROR 致命编译时错误。类似 E_ERROR, 但是是由 Zend 脚本引擎产生的。
128 E_COMPILE_WARNING 编译时警告 (非致命错误)。类似 E_WARNING,但是是由 Zend 脚本引擎产生的。
256 E_USER_ERROR 用户产生的错误信息。类似 E_ERROR, 但是是由用户自己在代码中使用PHP函数 trigger_error()来产生的。
512 E_USER_WARNING 用户产生的警告信息。类似 E_WARNING, 但是是由用户自己在代码中使用 PHP 函数 trigger_error() 来产生的。
1024 E_USER_NOTICE 用户产生的通知信息。类似 E_NOTICE, 但是是由用户自己在代码中使用 PHP 函数 trigger_error() 来产生的。
2048 E_STRICT 启用 PHP 对代码的修改建议,以确保代码具有最佳的互操作性和向前兼容性。(Since PHP 5 but not included in E_ALL until PHP 5.4)
4096 E_RECOVERABLE_ERROR 可被捕捉的致命错误。它表示发生了一个可能非常危险的错误,但是还没有导致 PHP 引擎处于不稳定的状态。 如果该错误没有被用户自定义句柄捕获 (参见 set_error_handler()),将成为一个 E_ERROR 从而脚本会终止运行。 (Since PHP 5.2)
8192 E_DEPRECATED 运行时通知。启用后将会对在未来版本中可能无法正常工作的代码给出警告。(Since PHP 5.3)
16384 E_USER_DEPRECATED 用户产生的警告信息。类似 E_DEPRECATED, 但是是由用户自己在代码中使用 PHP 函数 trigger_error() 来产生的。 (Since PHP 5.3)
32767 E_ALL E_STRICT 除非的所有错误和警告信息。(版本 < 5.4 中的 E_STRICT 除外)