我对服务器响应max execution timeout
有疑问。
如果我调用服务器API来运行巨大的服务器并且无法在服务器php.ini
max_execution_time
配置中设置的时间限制内完成,服务器中的进程是否仍会继续处理?
- 如果是这样,它会处理无穷无尽吗?
- 如果不是,则该过程立即停止或逐个取消循环并完成所有过程。
根据我的经验,当我在本地托管上收到max execution timeout
时,数据已经处理完毕。
所以我不确定是因为它在响应中停留,直到超时或服务器在抛出max execution timeout
异常后继续运行。
答案 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文件中的最长执行时间。