我们一直在依赖这个并且最近改变了服务器。基本上在php文件的末尾我们关闭连接并做一些繁重的工作,我们不希望浏览器挂断。根据我的经验,我们使用的这种方法会关闭浏览器连接,用户不会遇到任何问题。在这台新服务器上,连接保持打开状态并导致浏览器挂起。
我用这个非常简单的测试文件来玩它:
<?php
ob_end_clean();
ob_start();
?>
<html>
<head>
<title></title>
</head>
<body>
testing...
</body>
</html>
<?
$size = ob_get_length();
header("Content-Length: $size");
header('Connection: close');
ob_end_flush();
//anything below this should NOT hang up the browser
sleep(30); //but it does :-(
?>
答案 0 :(得分:1)
这与PHP无关。您的新服务器可能支持Keep Alive连接(您的浏览器肯定会请求),导致连接保持打开以用于后续请求。尝试将Header(“Connection:close”)添加到您的脚本中,或者关闭Web服务器中的Keep Alive支持。