PHP register

   这篇文章主要介绍了PHP register_shutdown_function()函数的使用示例,当我们的脚本执行完成或者意外死掉导致 php 执行即将关闭时,register_shutdown_function()这个函数会被调用,需要的朋友可以参考下

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

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

  【使用场景】

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

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

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

  shutdown.php

   代码如下:

  

  header("content-type:text/html;charset=utf-8");

  class Shutdown{

  public function endScript(){

  if(error_get_last()){

  echo '

';

 

  print_r(error_get_last());

  echo '

';

 

  }

  file_put_contents('D:practisephpErrorerror.txt', 'this is a test');

  die('脚本结束');

  }

  }

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

  //错误测试

  echo md6();

  执行,输出:

   代码如下:

  ( ! ) Fatal error: Call to undefined function md6() in D:practisephpErrorshutdown.php on line 18

  Array

  (

  [type] => 1

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

  [file] => D:practisephpErrorshutdown.php

  [line] => 18

  )

  脚本结束

  代码如下:

  D:practisephpErrorerror.txt:

  this is a test

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索函数
, 脚本
, 代码
, function
, register
, 意外终止
file_put_contents
php register_globals、php register 函数、register 关键字、php com register、php register globals,以便于您获取更多的相关知识。

时间: 2024-11-01 00:24:59

PHP register的相关文章

fatal error:php中通过register

今天发现php中,如果要记录fatal error的时候,可以实用一个不错的函数, 叫register_shutdown_function,小结如下:   register_shutdown_function可以让我们设置一个当执行关闭时可以被调用的另一个函数.也就是说当我们的脚本执行完成或意外死掉 导致PHP执行即将关闭时,我们的这个函数将会被调用.所以,我们可以使用在脚本开始处设置一个变量为false,然后在脚本末尾将之设置为true的方 法,让PHP关闭回调函数检查脚本完成与否. 如果我们

Coding PHP with register

Intended AudienceIntroductionregister_globalsHow do the variables get to PHP? From the URL From a Form From a Cookie From the Environment or the ServerUse the superglobals! Why are they called superglobals?Other Coding Techniques Ways to HackSummaryA

SharePoint中如何在Feature中动态Register/Remove HttpModule

在SharePoint开发时,你会遇到这样一个问题,Global.asax去哪儿?怎样添加一个Global.asax?怎样在Application_Start这个事件处理程序里设置初始化?似乎在Visual Studio中无法像纯ASP.NET开发那样轻松添加一个Global.asax. 当然找到这个Global.asax也不难,打开IIS,右键浏览对应网站,在网站根目录下你可以找到Global.asax.比如我的网站部署在C:\inetpub\wwwroot\wss\VirtualDirect

unity3d脚本:Easy login / register script

#pragma strict var s :String; var username :String; var pw :String; var pw2 :String; var info:String; var success :boolean; var skin:GUISkin; var LogoStyle :GUIStyle; var DescribtionStyle :GUIStyle; var obj :GameObject[]; var login :boolean; function

关于C++类的数据成员的存储类型,为什么不能是auto、register和extern

问题描述 关于C++类的数据成员的存储类型,为什么不能是auto.register和extern C++中类的存储类型不能是register和extern可以理解,但为什么不能是auto类型的呀?在结构体中同样出错,在函数中不出错,什么情况? #include<iostream> #include<cmath> using namespace std; class complex { private: auto double real;//编译时此处有错误illegal stora

windows-Qt Creator调试程序出现pc register is not available

问题描述 Qt Creator调试程序出现pc register is not available 我用的Qt版本是qt-opensource-windows-x86-mingw482_opengl-5.3.1 系统是win7 64位. 安装Qt之后,使用Qt的例程或者新建一个简单的程序,调试模式启动,都会出现 pc register is not available 这样的提示. 请问这种情况怎么解决,重装系统.更换新的Qt版本(必须使用mingw)都无效. 解决方案 检查 Options -

@ Register和@ Reference的区别

@ Reference 指示应该根据在其中声明此指令的当前 ASP.NET 文件(网页.用户控件或母版页),对位于某个虚拟路径的另一个用户控件.页源文件或任意文件进行动态编译和链接. <%@ Reference Page="path to .aspx page" Control="path to .ascx file" virtualPath="path to file" %> @ Register 创建标记前缀和自定义控件之间的关联

Stack based vs Register based Virtual Machine Architecture

进程虚拟机简介 一个虚拟机是对原生操作系统的一个高层次的抽象,目的是为了模拟物理机器,本文所谈论的是基于进程的虚拟机,而不是基于系统的虚拟机,基于系统的虚拟机可以用来在同一个平台下去运行多个不同的硬件架构的操作系统,常见的有kvm,xen,vmware等,而基于进程的虚拟机常见的有JVM,PVM(python虚拟机)等,java和python的解释器将java和python的代码编译成JVM和PVM可以识别的字节码.然后JVM和PVM取出字节码依次执行.就好比是汇编语言被编译成了机器码,通过指令

@ Register 属性各有什么用?

问题描述 <%@RegisterTagPrefix="Hishop"Namespace="Hishop.Web.Controls"Assembly="Hishop.Web.Controls"%>TagPrefixNamespaceAssembly请形像说明,最好有例子! 解决方案 解决方案二:.NETFramework常规参考@Register将别名与命名空间及类名关联起来,以便在自定义服务器控件语法中使用简明的表示法.<%@R