PHP set_time_limit no effect



我有一个非常痛苦的缓慢脚本,它从MySQL中获取大量数据,并从中创建一个大型报告,最后作为应用程序/强制下载提供给用户。

长话短说,在生产服务器上,它在大约30秒后不断终止(相当一致),并吐出一个空文件。在开发服务器上,它运行良好,但执行起来确实需要更长的时间——大约90秒。为了"安全",我将php.ini文件设置为max_execution_time = 2000,并在脚本的开头运行set_time_limit(4000)(数字远远超过了预期的完成时间,但只是为了确定;))。

是什么原因导致我的网络服务器忽略了我设置的时间限制,并在30秒后退出?

编辑:我确信的一件事是,MySQL部分的代码需要8-9秒才能完成,而且每次都能成功地通过这一点。

也许是PHP安全模式。

尝试进行

die(ini_get('max_execution_time'))

在调用set_time_limit(0);之后读取该值,看看它是否真的被重写了。

如果它被重写为0,并且您的脚本仍然失效,那么原因可能在代码的其他地方

相关内容

  • 没有找到相关文章

最新更新