PHP程序语法缺点导致

场景一:我们项目设置有报警监控(定时每隔10分钟访问一下网站的一个固定链接),曾经有段韶光,每天都会收到两三次报500缺点的邮件,但当自己再手动访问时却访问正常…()

这该当是最常见的缺点了,语法缺点也能很快复现,只要把报错信息暴露出来即可根据问题立马办理。

php调用自身方法php挪用本身的办法报错500 jQuery

如果是在本地或测试环境,常日我们是这么处理的,在程序入口中设置输出报错信息即可:

//error_reporting设置该当报告的缺点,下面表示除了 E_NOTICE,报告其他所有缺点

error_reporting(E_ALL ^ E_NOTICE);

//输出错误

ini_set('display_errors', 1);

但在线上环境的话,由于用户都在用,不可能许可我们就那么赤裸裸的打印缺点,怎么办呢?可以在程序入口文件中设置将缺点输出到日志文件中,详细代码如下:

error_reporting(E_ALL ^ E_NOTICE);

//禁止把缺点输出到页面

ini_set('display_errors', 0);

//设置缺点信息输出到文件

ini_set('log_errors', 1);

//指定缺点日志文件名

$error_dir = '/logs/err/';

$error_file = $error_dir . date('Ymd').'.log';

//目录不存在就创建

if (!is_dir($error_dir)){

mkdir($error_dir, 0777, true);

}

//文件不存在就创建之

if(!file_exists($error_file)){

$fp = fopen($error_file, 'w+');

if($fp){

fclose($fp);

}

}

//设置缺点输出文件

ini_set(\公众error_log\"大众, $error_file);

//程序正常实行逻辑......

刚才说的场景一问题,后来我们按照上面输出到log的办法输出才创造的,是由于mysql连接非常断开而程序连续实行(连接mysql时正常,但当调用详细查询方法时报错,记得彷佛是在利用方法mysqli_real_escape_string()的地方)导致的fatal级报错,终极才顺利修复了。

以上便是php调用自己的方法报错500的详细内容,更多请关注其它干系文章!

更多技巧请《转发 + 关注》哦!