分享一个php 的异常处理程序_PHP
程序员文章站
2024-02-13 22:17:52
...
直接上代码
'."[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'); } ?>
上一篇: 毕业设计ppt格式 介绍php设计模式中的工厂模式
下一篇: 如何在IIS下安装PHP扩展
推荐阅读
-
php处理restful请求的路由类分享_PHP
-
分享一个php 的异常处理程序_PHP
-
可否帮忙写一个单页页的PHP采集程序,并附下实例
-
想在PHP程序加入base64_decode,防止别人采集,相应的位置不知道加在哪里,该怎么处理
-
分享一个Laravel好用的Cache宏,laravelcache宏_PHP教程
-
请问如何在执行一个php程序的同时,在后台执行另一个网站的php程序
-
php程序的网站如何在顶部调用一个已经单独存在的html页面
-
一个好用的PHP验证码类实例分享_PHP教程
-
一个非常精彩的日历程序_PHP
-
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)_PHP