分享一个php 的异常处理程序_PHP教程
程序员文章站
2022-04-29 20:48:53
...
直接上代码
'."[SHUTDOWN] lvl:" . $lasterror['type'] . " | msg:" . $lasterror['message'] . " | file:" . $lasterror['file'] . " | ln:" . $lasterror['line']."\n"; file_put_contents('./log/'.date("Ymd").'shutdownlog.txt',$error,FILE_APPEND); //友好提示用户 ob_end_clean(); die('对不起,我出错了!'); } } register_shutdown_function('shutdownHandler'); } if(!defined('DEBUG')){ function errorHandler($errno, $errstr = '', $errfile = '', $errline = 0) { //写日志 $exception = new \ErrorException($errstr, 0, $errno, $errfile, $errline); $msg = strval(date("Y-m-d h:i:s")).'=>'.'Type:'.getErrTypeName($errno).' '.getMsg($exception); file_put_contents('./log/'.date("Ymd").'error.txt',$msg,FILE_APPEND); switch ($errno) { case E_NOTICE:return ; case E_DEPRECATED:return; } throw $exception; } function getErrTypeName($errno) { switch ($errno) { case E_NOTICE:return 'E_NOTICE' ; case E_DEPRECATED:return 'E_DEPRECATED'; default:return $errno; } } function exceptionHandler($ex) { $msg = strval(date("Y-m-d h:i:s")).'=>'.getMsg($ex); file_put_contents('./log/'.date("Ymd").'exception.txt',$msg,FILE_APPEND); } function getMsg($exception) { //获取最准确的异常 while($exception->getPrevious())$exception = $exception->getPrevious(); $msg = ' Message: '.$exception->getMessage(); $msg .= ' File: '.$exception->getFile().':'.$exception->getLine()."\n"; return $msg; } set_error_handler('errorHandler',E_ALL); set_exception_handler('exceptionHandler'); } ?>
上一篇: js如何获取其它页面url传过来的参数
下一篇: 三星bada 2.0 SDK发布
推荐阅读
-
一个捕获函数输出的函数_PHP教程
-
php计算一个文件大小的方法,_PHP教程
-
PHP 存取 MySQL 数据库的一个例子_PHP教程
-
有一个很难的有关问题,php获取javascript的值来判断域名来路,后期不好处理
-
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析_PHP教程
-
PostgreSQL空值null参与运算的处理方法_PHP教程
-
PHP中一个文件调用另一个文件类的方法,然后输出出现乱码,求解!该如何处理
-
分享在PHP 7下安装Swoole与Yar,Yaf的方法教程
-
一个比较不错的PHP日历类分享_PHP
-
PHP网站安装程序制作的原理、步骤、注意事项和示例代码_PHP教程