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中this,self,parent的区别详解
Jun 08 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
php上传图片客户端和服务器端实现方法
Mar 30 PHP
php函数连续调用实例分析
Jul 30 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
php中遍历二维数组并以表格的形式输出的方法
Jan 03 PHP
php实现用户注册密码的crypt加密
Jun 08 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
Laravel框架定时任务2种实现方式示例
Dec 08 PHP
php pdo连接数据库操作示例
Nov 18 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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
原生js实现购物车
2020/09/23 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
跟老齐学Python之print详解
2014/09/28 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
selenium+PhantomJS爬取豆瓣读书
2019/08/26 Python
Python运行提示缺少模块问题解决方案
2020/04/02 Python
Python实现代码块儿折叠
2020/04/15 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
应聘收银员个人的求职信
2013/11/30 职场文书
管理学专业个人求职信范文
2013/12/13 职场文书
防沙治沙典型材料
2014/05/07 职场文书
数学教育专业求职信
2014/07/22 职场文书
工会经费申请报告
2015/05/15 职场文书
食堂管理制度范本
2015/08/04 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android