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 相关文章推荐
自动跳转中英文页面
Oct 09 PHP
文章推荐系统(三)
Oct 09 PHP
flash用php连接数据库的代码
Apr 21 PHP
php获取URL中带#号等特殊符号参数的解决方法
Sep 02 PHP
php访问数组最后一个元素的函数end()用法
Mar 18 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
老生常谈PHP位运算的用途
Mar 12 PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 PHP
PHP中创建和编辑Excel表格的方法
Sep 13 PHP
实例解析php的数据类型
Oct 24 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
php中取得URL的根域名的代码
2011/03/23 PHP
PHP6 中可能会出现的新特性预览
2014/04/04 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
JavaScript实现16进制颜色值转RGB的方法
2015/02/09 Javascript
JQuery球队选择实例
2015/05/18 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
python开发之函数定义实例分析
2015/11/12 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
What is view? why do we have view?
2012/06/22 面试题
银行介绍信范文
2014/01/10 职场文书
新农村建设标语
2014/06/24 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
python用字节处理文件实例讲解
2021/04/13 Python
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL