我想知道如果我在php页面中有这样的代码会发生什么:doit.php:
$url="http://someServer.com/somepage.php";
$i=10;
while($i--){
getDataFromAnotherServer($url);
}
现在,知道功能 getDataFromAnotherServer()
可能需要一两秒......
如果用户要求doit.php并立即关闭浏览器,会发生什么?
该函数是否仍会被调用9次(循环将达到i == 0)或停在中间的某个位置?
感谢
答案 0 :(得分:2)
脚本将被中止(除非在此期间没有尝试向客户端发送数据)。要防止脚本因客户端断开而提前结束,请使用ignore_user_abort。
有关PHP连接处理的更多详细信息,请访问:
http://www.php.net/manual/en/features.connection-handling.php
答案 1 :(得分:0)
脚本会中止。 getDataFromAnotherServer函数可能需要几秒钟猜测,因为您不控制服务器。这可能会导致达到最大执行次数。只是想到的东西。 ignore_user_abort可能会给出所需的结果