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

时间:2012-08-28 15:06:03

标签: php

我有一个php表单,用户向我显示他们收到致命错误:

Maximum execution time of 30 seconds exceeded in C:\Program Files\Apache2.2\htdocs\eeallparts\registration.php on line 282.  

奇怪的是,他们再次重新提交表单并且表单工作,因为它应该将数据插入数据库,因此这不是一致的错误。我在表格上收到了不少提交内容(相当程度上是垃圾邮件),所以我知道表单通常有效,但这个随机错误显然困扰我。

我去了第282行,我唯一看到的是:

if(!$insertContact_query = mssql_query($sql)) {     

我读了几个与此相关的其他线程,建议查看set time limit。如果查询只需要太长时间,查询几乎总是超时而不是定期超时?我让用户在表单中重新提交相同的信息并且第二次工作了吗?

1 个答案:

答案 0 :(得分:1)

时间限制不包括在任何外部数据源上花费的时间,例如查询数据库所花费的时间。

  

set_time_limit()函数和配置指令   max_execution_time仅影响脚本的执行时间   本身。花在执行之外的活动上的任何时间   使用system(),流操作等系统调用的脚本   确定最大值时不包括数据库查询等   脚本运行的时间。在Windows上不是这样   测量时间是真实的。

如果查询返回大型数据集,它可能只是在处理集合期间超时。如果可能的话,使用php配置文件来表明瓶颈。