在发出请求并且客户端立即退出时,服务器上会发生什么?

时间:2012-02-21 21:24:03

标签: php http

我想知道如果我在php页面中有这样的代码会发生什么:doit.php:

$url="http://someServer.com/somepage.php";

$i=10;
while($i--){
getDataFromAnotherServer($url);
}

现在,知道功能 getDataFromAnotherServer() 可能需要一两秒...... 如果用户要求doit.php并立即关闭浏览器,会发生什么? 该函数是否仍会被调用9次(循环将达到i == 0)或停在中间的某个位置? 感谢

2 个答案:

答案 0 :(得分:2)

脚本将被中止(除非在此期间没有尝试向客户端发送数据)。要防止脚本因客户端断开而提前结束,请使用ignore_user_abort

有关PHP连接处理的更多详细信息,请访问:

http://www.php.net/manual/en/features.connection-handling.php

答案 1 :(得分:0)

脚本会中止。 getDataFromAnotherServer函数可能需要几秒钟猜测,因为您不控制服务器。这可能会导致达到最大执行次数。只是想到的东西。 ignore_user_abort可能会给出所需的结果