当前位置: 首页 > 面试题库 >

如何捕获致命错误:PHP的最大执行时间超过30秒

岳彬炳
2023-03-14
问题内容

我一直在玩我正在开发的系统,并设法使它引起以下问题:

致命错误:超过30秒的最大执行时间

发生在我做一些不切实际的事情时,但是它可能发生在用户身上。

有人知道是否有办法捕获此异常吗?我读过一些,但似乎每个人都建议增加允许的时间。


问题答案:

您唯一的选择是增加脚本的允许执行时间(将其设置为0会使它无限执行,但是不建议这样做),或者生成一个新线程并希望达到最佳效果。

之所以无法捕获,是因为它并没有真正抛出。没有一行代码实际触发该错误,PHP则说:“不,对不起,这太长了。该关闭了。”
这是有道理的。想象一下,如果一个脚本的执行时间最长为30秒,那么在捕获一个错误的情况下又需要花费30秒钟的时间…在一个设计不佳的程序中,这会带来一些相当可恶的利用机会。至少,它将为DOS攻击创造机会。



 类似资料:
  • 问题内容: 我正在从在线来源下载JSON文件,当它在循环中运行时,出现此错误: 致命错误:第24行的C:\ wamp \ www \ temp \ fetch.php中超过30秒的最大执行时间 问题答案: 您的循环可能是无止境的。如果不是,则可以这样延长最长执行时间: 和 可用于暂时延长时间限制。

  • 问题内容: 我不断收到此PHP错误: 致命错误:超过300秒的最大执行时间 我已经尝试设置我和我的php.ini的(Apache和CLI)来,和秒每。 而且我仍然收到错误消息: 致命错误:超过300秒的最大执行时间 同样,我的脚本运行了300秒钟以上才收到此消息 我正在通过命令行运行脚本。 我还检查了我,以便查看我正在使用哪个。 更有趣的是,我尝试将设置 和设置设置为5秒,并且我的脚本将在5秒钟后

  • 问题内容: 我有一个包含650万条记录的MySQL表。当我尝试从phpMyAdmin访问该表时,我得到: 致命错误:在第1457行的C:\ xampp-new \ phpMyAdmin \ libraries \ display_tbl.lib.php中,超过30秒的最大执行时间。 我只是想查看记录,并且没有做任何可能导致错误的查询。 此问题仅在我的服务器上。而且我的本地计算机所包含的记录不如服务

  • 我正在开发一个Spring boot应用程序,当响应时间超过30秒时,我必须抛出一个错误。 因为我正在使用应用程序。yml,我试过了 因为它不工作,尝试使用application.properties-. it不工作。 试图找出如何在这两种情况下抛出系统错误。即当系统空闲后发生超时且响应时间超过30秒时

  • 问题内容: 我想增加php中的 最大执行时间 ,而不是通过更改文件。 我想从我的php文件中增加它。 这可能吗? 问题答案: ini_set(‘max_execution_time’, ‘300’); //300 seconds = 5 minutes ini_set(‘max_execution_time’, ‘0’); // for infinite time of execution 将其放

  • 问题内容: 我正在尝试在我的一个课程中实现PHP5的类型提示, 正确用法: 产生错误: 可捕获的致命错误:传递给ClassA :: method_a()的参数1必须是ClassB的实例,给定ClassWrong的实例… 是否有可能捕获到该错误(因为它说“可捕获”)?如果是的话,如何? 问题答案: 更新:这不再是php 7中可捕获的致命错误。相反,抛出了“异常”。不是从Exception而是Erro