PHP 遇到问题时怎么解决 (错误日志)

我回答的时候举了做项目的时候的例子,先缕一下思路。因为后台这一块,只要思路缕清了,在纸上写出来,接下来一步一步去 debug,不断 var_dump、print_r、echo,最后 exit () 一下,其实很好 debug 后来发现面试官想问的其实不是这个,而是错误日志,今天特意去搜了一下,研究了一个下午终于会一点点

首先开启错误日志,配置 php.ini
error_reporting = E_ALL ; 将会向 PHP 报告发生的每个错误,包括 ERROR、NOTICE、WARNING 等等 
display_errors = Off ; 本地测试开启,项目上线要关闭,防止服务器重要信息泄露 
log_errors = On ; 开启错误日志 
log_errors_max_len = 1024 ; 设置每个日志项的最大长度 
error_log = /www/phpernote/error.log ; 指定产生的错误报告写入的日志文件位置

配置完之后重启服务器即可,参考了 php 的异常和处理文章的一小段代码,自己另外做了测试

<?php
set_error_handler('myErrorHandler');
function myErrorHandler($errno,$errmsg,$file,$line){
    echo "<b>错误代码:</b>[{$errno}] {$errmsg} <br/>".PHP_EOL;
    echo "<b>错误行号:</b>{$file}文件中的第 {$line} 行<br/>".PHP_EOL;
    echo "<b>PHP版本:</b>".PHP_VERSION."(".PHP_OS.") <br/>".PHP_EOL;
    $datetime = date('Y-m-d H:i:s',time()); 
    error_log('时间:' . $datetime  . '错误的信息:' . $errmsg . '错误文件所在位置:' .$_SERVER['SCRIPT_FILENAME']);
 }

echo $test;
test();
 echo 'good';
?>

下面是 error.log 输出的内容:

网页输出的内容: