PHP中应用register_shutdown_function函数截获fatal error示例

发布时间:2017-04-15 10:36 来源:互联网 以后栏目:电脑编程入门

   这篇文章重要简介了PHP中应用register_shutdown_function函数截获fatal error示例,须要的同伙可以参考下

  我们在做项目时,有时会由于不谨慎而出现fatal error。假设display_errors设置成off,那用户将会看到的是一个空白的页面。若设置成了on,那fatal error的信息将会出现出来(固然正常的人都不会如许干)。

  那我们有甚么办法可以提早截获到fatal error,并用我们本身自定义的友爱情势反应给用户呢。PHP中有一个叫做 register_shutdown_function 的函数,可让我们设置一个当履行封闭时可以被调用的另外一个函数.也就是说当我们的脚本履行完成或不测逝世掉落招致PHP履行行将封闭时,这个函数将会被调用。

  下面请看一个例子:

  复制代码 代码以下:

  

  $flag = false;

  function deal_error(){

  global $flag;

  if (!$flag){

  die("粗成绩啦,请稍后再试");

  }

  return false;

  }

  register_shutdown_function("deal_error");

  //将由于致命缺点而掉败

  //$obj = new NotExistClass(); //引入未定义的类

  require('./test.php');

  $flag = true;

  我们在法式榜样出口处,设置flag为false,最后设置成true,注解法式榜样正常履行。若flag最后不为true,解释在中心某个处所逝世掉落了,此时就会调用register_shutdown_function,输入我们自定义的缺点成果。

  以下面的类未定义、引入不存在的文件(必须应用require或require_once)等会招致fatal error。固然,如果你法式榜样是缺个标点或许多了个特别字符啥的,那就没办法了。

  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、