如果关闭浏览器,PHP代码是否继续运行?

如果关闭浏览器,PHP代码是否继续运行?,php,Php,假设您有一个PHP脚本(无论出于何种原因)需要几分钟才能运行。如果用户在脚本运行时关闭浏览器,脚本是停止运行,还是执行指令直到脚本结束?服务器无法可靠地知道客户端不再关心该请求。一般来说,它会一直运行,直到有东西停止它。PHP是一种服务器端语言。所有处理都在服务器上完成,而不是在客户端。一旦请求被发送到服务器,客户端就失去了对它的控制 这意味着服务器在超时时的配置将在如此长的查询中生效,但关闭浏览器将无效 如果您使用客户端(如javascript)在5分钟内向服务器端语言提交多个请求,那么是的,

假设您有一个PHP脚本(无论出于何种原因)需要几分钟才能运行。如果用户在脚本运行时关闭浏览器,脚本是停止运行,还是执行指令直到脚本结束?

服务器无法可靠地知道客户端不再关心该请求。一般来说,它会一直运行,直到有东西停止它。

PHP是一种服务器端语言。所有处理都在服务器上完成,而不是在客户端。一旦请求被发送到服务器,客户端就失去了对它的控制

这意味着服务器在超时时的配置将在如此长的查询中生效,但关闭浏览器将无效

如果您使用客户端(如javascript)在5分钟内向服务器端语言提交多个请求,那么是的,关闭浏览器实际上会中断该过程并阻止其完成

如果您想阅读,请仔细阅读差异:

为什么不试试看呢?可能是学术性的,因为服务器可能会在配置的超时时间(通常为30秒)关闭脚本。加载网页可能需要几分钟时间,这是个坏主意。您可能希望将其卸载到后台进程,在后台进程中,浏览器只是对进程进行排队,然后将其从等式中完全删除。因此,基本上您是说,如果客户端有一组请求,例如1到10,然后发送1到7,然后被闪电击中,那么8到10将不会发生是的,如果您使用客户端驱动的脚本来执行这些请求,8、9和10将不会通过,但是,如果所有请求都是向服务器发出的,并且服务器正在处理7/10,并且客户端电源关闭,8、9和10仍将执行,因为服务器已接收并“排队”请求。但它被闪电击中,从未发送,我的观点是答案有点空洞,没有任何迹象表明理解tcp/IP的OSI模型。提供的答案不是对tcp/IP及其工作原理的深入分析。它涉及客户端和服务器端请求之间的差异。最初的问题是“PHP是否继续处理”,简短的回答是“是”。然而,有一个小型的astrix扩展了这个答案,涉及到将请求传递到服务器的方法。正如op清楚地表明的那样,脚本是服务器端技术。