PHP register_shutdown_function()函数的使用示例


Posted in PHP onJune 23, 2015

通过 register_shutdown_function 方法,可以让我们设置一个当执行关闭时可以被调用的另一个函数。

也就是说,当我们的脚本执行完成或者意外死掉导致 php 执行即将关闭时,我们的这个函数会被调用。

【使用场景】

① 页面被(用户)强制停止

② 程序代码意外终止或超时

③ php4 中没有析构函数,可以使用该函数模拟析构函数

shutdown.php

<?php
header("content-type:text/html;charset=utf-8");
class Shutdown{
  public function endScript(){
    if(error_get_last()){
      echo '<pre>';
      print_r(error_get_last());
      echo '</pre>';
    }
    file_put_contents('D:\practise\php\Error\error.txt', 'this is a test');
    die('脚本结束');
  } 
}

register_shutdown_function(array(new Shutdown(), 'endScript'));

//错误测试
echo md6();

执行,输出:

( ! ) Fatal error: Call to undefined function md6() in D:\practise\php\Error\shutdown.php on line 18
 Array

(

    [type] => 1

    [message] => Call to undefined function md6()

    [file] => D:\practise\php\Error\shutdown.php

    [line] => 18

)

脚本结束
D:\practise\php\Error\error.txt:

this is a test

注意:register_shutdown_function 方法是从内存中调用的,因此在使用 file_put_contents 方法时,第一个参数一定要使用绝对路径。

PHP 相关文章推荐
提升PHP执行速度全攻略(上)
Oct 09 PHP
15种PHP Encoder的比较
Apr 17 PHP
PHP简单系统数据添加以及数据删除模块源文件下载
Jun 07 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
php全角字符转换为半角函数
Feb 07 PHP
PHP中soap的用法实例
Oct 24 PHP
php遍历类中包含的所有元素的方法
May 12 PHP
PHP实现的简单缓存类
Jul 29 PHP
Yii框架上传图片用法总结
Mar 28 PHP
Laravel实现autoload方法详解
May 07 PHP
Swoole4.4协程抢占式调度器详解
May 23 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 #PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 #PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 #PHP
PHP实现链式操作的核心思想
Jun 23 #PHP
PHP魔术方法的使用示例
Jun 23 #PHP
8个PHP数组面试题
Jun 23 #PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 #PHP
You might like
Thinkphp多文件上传实现方法
2014/10/31 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
AngularJS基础 ng-list 指令详解及示例代码
2016/08/02 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
django模型中的字段和model名显示为中文小技巧分享
2014/11/18 Python
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
python实现数据库跨服务器迁移
2018/04/12 Python
python3.5的包存放的具体路径
2020/08/16 Python
加拿大消费电子和手机购物网站:The Source
2017/01/28 全球购物
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
新锐科技Java程序员面试题
2016/07/25 面试题
个人素质的自我评价分享
2013/12/16 职场文书
《三亚落日》教学反思
2014/04/26 职场文书
运动会拉拉队口号
2014/06/09 职场文书
工作简历自我评价
2015/03/11 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
《检阅》教学反思
2016/02/22 职场文书
2019年入党思想汇报
2019/03/25 职场文书
Python 制作自动化翻译工具
2021/04/25 Python