【问题标题】:Capturing set_time_limit() reached - PHP [duplicate]捕获 set_time_limit() 达到 - PHP [重复]
【发布时间】:2012-09-20 23:38:29
【问题描述】:

可能重复:
How to catch the fatal error: Maximum execution time of 30 seconds exceeded in PHP

我之前用过很多次set_time_limit(60);。但是,当超过这个值时,是否有捕获,目前它只是以同样的旧错误进行轰炸。

我想捕获它失败,然后以我自己的方式处理它?

【问题讨论】:

  • 我担心限制就是限制,我不知道你可以抓住一个软限制。我会说你应该做更多的研究,然后回来概述你发现的东西。例如。这甚至是一个可捕获的致命错误吗?

标签: php time


【解决方案1】:

来自 php.net 中set_time_limit 的评论部分

<?php
set_time_limit(60);
ob_start();
function shutdown () {
  $out = ob_get_clean();echo $out; // echo output if required
  // do your processing code
}
register_shutdown_function('shutdown');

// your code
?>

【讨论】:

  • 嗯。我不认为这会起作用,但the code here 实际上可以在我的服务器上运行(虽然不是在键盘上,它可能有它自己的自定义超时处理程序)。
  • 这是我网站上的演示代码,超时一秒:jfcoder.com/t/timeout.php 和代码隐藏:pastebin.com/FwBBA0qy
  • @JaredFarrish 是的,它也适用于我的服务器。 codepad 将有一些机制来阻止长循环和处理超时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-16
  • 2014-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多