计算和处理php脚本进程运行时间

时间:2013-07-05 18:21:11

标签: php drupal error-handling

我知道一些代码会在某个时刻达到最大超时。

我尝试使用try-catch来处理这个错误,但我刚刚被告知超时无法通过这种方式捕获。

有没有办法可以捕获错误,或计算处理时间并在错误到达超时之前处理错误?

3 个答案:

答案 0 :(得分:1)

最长执行时间是PHP错误而不是PHP异常,因此您的错误处理代码将无法捕获实际不存在的异常。执行时间限制实际上是PHP服务器杀死基本上失去控制的功能的最后手段。

您真的需要研究为什么数据库代码需要30秒才能执行并解决代码/数据库问题。另一个(不推荐)选项是将PHP中的最大执行时间增加到适合您代码的时间。

答案 1 :(得分:1)

正如iTom正确提到的,首先你需要弄清楚,为什么你的代码需要30秒。

如果预期&你正在做一些数据库更新然后在drupal,我们有处理这个。您需要使用 Drupal批处理API

点击此处查看详情:https://api.drupal.org/api/drupal/includes!form.inc/group/batch/7

  

允许表单处理分布在多个页面上的功能   请求,从而确保处理不会中断   因为PHP超时,同时允许用户接收反馈   关于正在进行的行动的进展。

答案 2 :(得分:0)

您可以在函数之前和之后回显time()以计算处理