php – 当服务器处于无限循环并且客户端停止时会发生什么?

我试图弄清楚服务器和客户端之间的“谈话”是如何完成的.

因此,当服务器产生无限循环时,例如,回显“hello< br />”,当客户端停止或者“返回”时会发生什么?

服务器如何知道循环的结束,或者它是否需要一个无尽的过程呢?

有没有什么可以看的,只是为了得到大局?

最佳答案
客户端与您的服务器建立了一个TCP/IP session,等待您的网站的HTTP响应.当客户端(用户)返回/取消/关闭时,此TCP连接立即关闭.

网络服务器(即apache)将通知PHP解释器TCP connection close.

除非php.ini指令ignore_user_abort设置为1(在服务器端,0为PHP默认值),那么当当前的原子操作完成时,PHP解释器将中止脚本执行(在您的示例中为:echo())

但是,即使将ignore_user_abort设置为1,您也可以点击PHP max_execution_time或apache TimeOut(两者都可在服务器端配置)

也可以看ignore_user_abort()set_time_limit()

转载注明原文:php – 当服务器处于无限循环并且客户端停止时会发生什么? - 代码日志