找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2025|回复: 0
打印 上一主题 下一主题

PHP中使用register_shutdown_function函数截获fatal error示例

[复制链接]

2500

主题

2513

帖子

7520

积分

论坛元老

Rank: 8Rank: 8

积分
7520
跳转到指定楼层
楼主
发表于 2018-2-14 05:46:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            我们在做项目时,偶尔会因为不谨慎而出现fatal error。如果display_errors设置成off,那用户将会看到的是一个空白的页面。若设置成了on,那fatal error的信息将会呈现出来(当然正常的人都不会这样干)。
那我们有什么方法可以提前截获到fatal error,并用我们自己自定义的友好形式反馈给用户呢。PHP中有一个叫做  register_shutdown_function 的函数,可以让我们设置一个当执行关闭时可以被调用的另一个函数.也就是说当我们的脚本执行完成或意外死掉导致PHP执行即将关闭时,这个函数将会被调用。
下面请看一个例子:
[U]复制代码[/U] 代码如下:
我们在程序入口处,设置flag为false,最后设置成true,表明程序正常执行。若flag最后不为true,说明在中间某个地方死掉了,此时就会调用register_shutdown_function,输出我们自定义的错误结果。
如上面的类未定义、引入不存在的文件(必须使用require或require_once)等会导致fatal error。当然,要是你程序是缺个标点或者多了个特殊字符啥的,那就没办法了。
            
            
您可能感兴趣的文章:
  • php ignore_user_abort与register_shutdown_function 使用方法
  • PHP register_shutdown_function函数的深入解析
  • php中__destruct与register_shutdown_function执行的先后顺序问题
  • PHP register_shutdown_function()函数的使用示例
  • PHP错误处理函数register_shutdown_function使用示例
  • php register_shutdown_function函数详解
  • PHP中register_shutdown_function函数的基础介绍与用法详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端