怎么利用register_shutdown_function判断php程序是否执行完
发布:smiling 来源: PHP粉丝网 添加日期:2018-06-01 10:18:37 浏览: 评论:0
register_shutdown_function函数的用法:当php脚本运行结束后,会回调一个您指定的函数里面的逻辑。(注意,以下两种情况不会执行回调函数:1.程序有语法错误;2.register_shutdown_function函数前,发生了致命错误,所以下面例子,我将register_shutdown_function放到了程序的最上面。)
还有一种应用场景就是:要做一个消费队列,因为某条有问题的数据导致致命错误,如果这条数据不处理掉,那么整个队列都会导致瘫痪的状态,这样可以用以下方法来解决。即:如果捕获到有问题的数据导致错误,则在回调函数中将这条数据处理掉就可以了。
php范例参考与解析:
- register_shutdown_function('myFun'); //放到最上面,不然如果下面有致命错误,就不会调用myFun了。
- $execDone = false; //程序是否成功执行完(默认为false)
- /**
- ********************* 业务逻辑区*************************
- */
- $tas = 3;
- if($tas == 3)
- {
- new daixiaorui();
- }
- /**
- ********************* 业务逻辑结束*************************
- */
- $execDone = true; //由于程序由上至下执行,因此当执行到此后,则证明逻辑没有出现致命的错误。
- function myFun()
- {
- global $execDone;
- if($execDone === false)
- {
- file_put_contents("E:/myMsg.txt", date("Y-m-d H:i:s")."---error: 程序执行出错。\r\n", FILE_APPEND);
- /******** 以下可以做一些处理 ********/
- }
- }
Tags: register_shutdown_function
- 上一篇:PHP去重进行算法升级过程
- 下一篇:详解PHP中字符串长度的截取用法实例
相关文章
- ·php中__destruct与register_shutdown_function执行的先后顺序问题(2021-04-17)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)