入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

php 错误级别日志

创建时间:2017-10-15 投稿人: 浏览次数:537
1、error_reporting(“E_ALL”)
设置错误显示等级


下面列举一些错误报告级别:

值           常量                     说明
1           E_ERROR             报告导致脚本终止运行的致命错误
2           E_WARNING       报告运行时的警告类错误(脚本不会终止运行)
4           E_PARSE            报告编译时的语法解析错误
8           E_NOTICE           报告通知类错误,脚本可能会产生错误
32767   E_ALL               报告所有的可能出现的错误(不同的PHP版本,常量E_ALL的值也可能不同)


<?php 
//禁用错误报告 
error_reporting(0); 
//报告运行时错误 
error_reporting(E_ERROR | E_WARNING | E_PARSE); 
//报告所有错误 
error_reporting(E_ALL); 
?> 



2、ini_set(“display_errors”, “on”)
设置让php显示错误,在关于错误显示控制中,其优先级最高



注意:配置文件php.ini中display_errors的默认值为On,代表显示错误提示,如果设置为Off,就会关闭所有的错误提示。


使用 error_reporting(0) 或者在函数前面加 @,可以抑制错误输出,以防止错误消息泄露敏感信息。


3、ini_set("error_log", dirname(__FILE__) . "/error_log.txt");

设置错误日志文件


4、注册错误日志文件

//注册错误日志处理函数
/**
 * 错误处理函数
 * @param int $errno
 * @param string $errstr
 * @param string $errfile
 * @param int $errline
 */
function errHandler($errno,$errstr,$errfile,$errline){
    $msg = "错误代码:[{$errno}] {$errstr}
";
    $msg .= "错误位置:{$errline} 文件 {$errfile}
";
    $msg .= "PHP版本 ".PHP_VERSION."(".PHP_OS.")
";
    LogCat::writeFileLog("errHandler.log", "错误日志", $msg);
}
set_error_handler("errHandler",E_ALL|E_STRICT);


5、针对第3点设置的error_log的路径,可以使用函数 error_log操作记录日志或者发送日志邮件

(PHP 4, PHP 5, PHP 7)

error_log — 发送错误信息到某个地方

说明

bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

把错误信息发送到 web 服务器的错误日志,或者到一个文件里。

参数

message

应该被记录的错误信息。

message_type

设置错误应该发送到何处。可能的信息类型有以下几个:

error_log() 日志类型
0 message 发送到 PHP 的系统日志,使用 操作系统的日志机制或者一个文件,取决于 error_log 指令设置了什么。 这是个默认的选项。
1 message 发送到参数 destination 设置的邮件地址。 第四个参数 extra_headers 只有在这个类型里才会被用到。
2 不再是一个选项。
3 message 被发送到位置为 destination 的文件里。 字符 message 不会默认被当做新的一行。
4 message 直接发送到 SAPI 的日志处理程序中。
destination

目标。它的含义描述于以上,由 message_type 参数所决定。

extra_headers

额外的头。当 message_type 设置为 1 的时候使用。 该信息类型使用了 mail() 的同一个内置函数。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。