PHP中使用register_shutdown_function函数截获fatal error示例
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-22 21:33:24 浏览: 评论:0
我们在做项目时,偶尔会因为不谨慎而出现fatal error。如果display_errors设置成off,那用户将会看到的是一个空白的页面。若设置成了on,那fatal error的信息将会呈现出来(当然正常的人都不会这样干)。
那我们有什么方法可以提前截获到fatal error,并用我们自己自定义的友好形式反馈给用户呢。PHP中有一个叫做 register_shutdown_function 的函数,可以让我们设置一个当执行关闭时可以被调用的另一个函数.也就是说当我们的脚本执行完成或意外死掉导致PHP执行即将关闭时,这个函数将会被调用。
下面请看一个例子:
- <?php
- $flag = false;
- function deal_error(){
- global $flag;
- if (!$flag){
- die("粗问题啦,请稍后再试");
- }
- return false;
- }
- register_shutdown_function("deal_error");
- //将因为致命错误而失败
- //$obj = new NotExistClass(); //引入未定义的类
- require('./test.php');
- $flag = true;
我们在程序入口处,设置flag为false,最后设置成true,表明程序正常执行。若flag最后不为true,说明在中间某个地方死掉了,此时就会调用register_shutdown_function,输出我们自定义的错误结果。
如上面的类未定义、引入不存在的文件(必须使用require或require_once)等会导致fatal error。当然,要是你程序是缺个标点或者多了个特殊字符啥的,那就没办法了。
Tags: register_shutdown_function fatal
相关文章
- ·PHP register_shutdown_function()函数的使用示例(2021-06-03)
- ·PHP中register_shutdown_function函数的基础介绍与用法详解(2021-08-21)
- ·php empty()出错,Fatal error: Can’t use function return(2013-12-04)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)