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 相关文章推荐
用IE远程创建Mysql数据库的简易程序
Oct 09 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
PHP可逆加密/解密函数分享
Sep 25 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
Oct 23 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 PHP
PHP cURL获取微信公众号access_token的实例
Apr 28 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
May 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
第三节--定义一个类
2006/11/16 PHP
php设计模式 Visitor 访问者模式
2011/06/28 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
php显示时间常用方法小结
2015/06/05 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
Javascript计算二维数组重复值示例代码
2016/12/18 Javascript
canvas实现图像截取功能
2017/02/06 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
Python中的字符串替换操作示例
2016/06/27 Python
Python中six模块基础用法
2019/12/08 Python
python中os包的用法
2020/06/01 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
资深财务管理人员自我评价
2013/09/22 职场文书
办公室文员自荐书
2014/02/03 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
转让协议书
2015/01/27 职场文书
六一儿童节主持开场白
2015/05/28 职场文书
德能勤绩工作总结
2015/08/11 职场文书
JavaScript实现简单拖拽效果
2021/09/15 Javascript
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技