关于最大执行超时

时间:2018-02-28 12:30:39

标签: php laravel server httpresponse max-execution-timeout

我对服务器响应max execution timeout有疑问。

如果我调用服务器API来运行巨大的服务器并且无法在服务器php.ini max_execution_time配置中设置的时间限制内完成,服务器中的进程是否仍会继续处理? - 如果是这样,它会处理无穷无尽吗? - 如果不是,则该过程立即停止或逐个取消循环并完成所有过程。

根据我的经验,当我在本地托管上收到max execution timeout时,数据已经处理完毕。

所以我不确定是因为它在响应中停留,直到超时或服务器在抛出max execution timeout异常后继续运行。

4 个答案:

答案 0 :(得分:1)

这实际上取决于你的PHP代码是什么样的。

通常代码执行将停止。您可以使用ignore_user_abort()更改此行为。

答案 1 :(得分:1)

PHP解释器针对php.ini配置运行脚本,并检查max_execution_time = 500和max_input_time = 500。

PHP在max_execution_time之后不会继续运行脚本。它只是“杀死”剧本。

还可能发生什么,脚本启动数据库查询,通常查询将在数据库服务器上运行,直到完成无论脚本发生了什么。您也可以从Web服务器获取网关超时,以便Apache检查httpd.conf并查找设置超时。

如果你需要运行一个需要时间来执行的脚本,比你网站的其他部分要多得多,你应该调用一个网页,服务器上的PHP,将一个新进程作为后台执行脚本(PHP部分)需要花费大量时间),通过异步状态更新通知用户或发送处理结束的电子邮件。您不应仅为一个例外扩展所有脚本的max_execution_time。

答案 2 :(得分:0)

抛出异常后它不会继续。当时间到了,它就会被剪掉。

执行超时前的任何事情。如果不是专门为此设计的话。

答案 3 :(得分:0)

在达到服务器php.ini max_executiontime配置中设置的时间限制之后,进程将不会继续并立即停止,然后php会抛出最大执行超时异常。

这里(How to increase maximum execution time in php)如果你想增加php文件中的最长执行时间。