全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

php register_shutdown_function函数详解

设定错误和异常处理三函数

register_shutdown_function(array(‘Debug','fatalError')); //定义PHP程序执行完成后执行的函数
set_error_handler(array(‘Debug','appError')); // 设置一个用户定义的错误处理函数
set_exception_handler(array(‘Debug','appException')); //自定义异常处理。

功能:register_shutdown_function() 函数可实现当程序执行完成后执行的函数,其功能为可实现程序执行完成的后续操作。程序在运行的时候可能存在执行超时,或强制关闭等情况,但这种情况下默认的提示是非常不友好的,如果使用register_shutdown_function()函数捕获异常,就能提供更加友好的错误展示方式,同时可以实现一些功能的后续操作,如执行完成后的临时数据清理,包括临时文件等。

可以这样理解调用条件:

1、当页面被用户强制停止时

2、当程序代码运行超时时

3、当PHP代码执行完成时,代码执行存在异常和错误、警告

example1:

<?php
function test() {
  echo "test()";
}
register_shutdown_function("test");
echo "show: ";

//将输出
show:test()

example2:

<?php
 class ClassDemo {
     public function __construct() {
       register_shutdown_function(array($this, "f"));
     }
  
     public function f() {
       echo "f()";
     }
   }
 
   $demo = new ClassDemo();
   echo "before </br>";

//将输出
before
f()

example3:

<?php
function f($str) {
    echo $str."<br>";
}
 
register_shutdown_function("f","hello");

  class ClassDemo {
    public function __construct() {
      register_shutdown_function(array($this, "f"),"hello");
    }
 
    public function f($str) {
      echo "f():".$str;
    }
  }

$demo = new ClassDemo();
echo "before </br>";

//将输出
before
hello
f():hello

注意事项

1,register_shutdown_function()函数可重复调用,但执行的顺序与注册的顺序相同
2,如果在调用register_shutdown_function()函数之前有exit()函数调用,register_shutdown_function()函数将不能执行
3,PHP4后支持注册函数参数传递
4,在某些服务端,如Apache,当前目录在register_shutdown_function()函数中能够改变
5,register_shutdown_function()函数执行在headers发送之后


# php  # register_shutdown_function  # PHP register_shutdown_function函数的深入解析  # php ignore_user_abort与register_shutdown_function 使  # PHP register_shutdown_function()函数的使用示例  # php中__destruct与register_shutdown_function执行的先后顺序问题  # PHP中使用register_shutdown_function函数截获fatal error示例  # PHP错误处理函数register_shutdown_function使用示例  # PHP中register_shutdown_function函数的基础介绍与用法详解  # 完成后  # 就能  # 自定义  # 可以实现  # 服务端  # 临时文件  # 情况下  # 不友好  # 在某些  # set_exception_handler  # appError  # strong  # appException  # array  # plain  # class  # brush  # pre  # set_error_handler 


相关文章: 如何设置并定期更换建站之星安全管理员密码?  如何用已有域名快速搭建网站?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  建站之家VIP精选网站模板与SEO优化教程整合指南  高性能网站服务器配置指南:安全稳定与高效建站核心方案  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  建站主机与虚拟主机有何区别?如何选择最优方案?  音乐网站服务器如何优化API响应速度?  如何高效完成独享虚拟主机建站?  安徽网站建设与外贸建站服务专业定制方案  焦点电影公司作品,电影焦点结局是什么?  如何通过服务器快速搭建网站?完整步骤解析  php json中文编码为null的解决办法  C#如何使用XPathNavigator高效查询XML  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  如何在IIS中新建站点并配置端口与IP地址?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  如何在IIS7上新建站点并设置安全权限?  浅谈Javascript中的Label语句  如何用狗爹虚拟主机快速搭建网站?  如何在宝塔面板中创建新站点?  盘锦网站制作公司,盘锦大洼有多少5G网站?  javascript中对象的定义、使用以及对象和原型链操作小结  建站之星备案是否影响网站上线时间?  如何在宝塔面板创建新站点?  如何在自有机房高效搭建专业网站?  Bpmn 2.0的XML文件怎么画流程图  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  建站之星安装步骤有哪些常见问题?  建站之星如何实现PC+手机+微信网站五合一建站?  定制建站价位费用解析与套餐推荐全攻略  制作门户网站的参考文献在哪,小说网站怎么建立?  如何解决VPS建站LNMP环境配置常见问题?  如何选择高性价比服务器搭建个人网站?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  专业网站建设制作报价,网页设计制作要考什么证?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  如何通过VPS搭建网站快速盈利?  如何通过IIS搭建网站并配置访问权限?  如何通过西部数码建站助手快速创建专业网站?  大型企业网站制作流程,做网站需要注册公司吗?  如何选择服务器才能高效搭建专属网站?  如何构建满足综合性能需求的优质建站方案?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  建站主机选购指南:核心配置优化与品牌推荐方案  建站VPS选购需注意哪些关键参数?  无锡营销型网站制作公司,无锡网选车牌流程?  建站之星导航配置指南:自助建站与SEO优化全解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。