0

しばらくこれに依存しており、最近サーバーを変更しました。基本的に、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 :-(
?>
4

1 に答える 1

1

これは PHP とは関係ありません。新しいサーバーはおそらく Keep Alive 接続 (ブラウザが最も確実に要求する) をサポートしているため、後続の要求に対して接続が開いたままになります。スクリプトに Header("Connection: close") を追加するか、Web サーバーで Keep Alive サポートをオフにしてみてください。

于 2013-07-28T23:54:31.910 に答える