新しいリクエストが発生した場合、長いポーリングを行い、AJAXコールによって開始されたスクリプトを停止しようとしています。 これは、AJAXリクエストによって開始されたPHPコードです:
$checker = $_SESSION['checker'] = time();
while (true) {
if ($checker != $_SESSION['checker']) {
$out = 'new one started';
break;
}
if (some other condition) {
$out = 'smth done or happend';
break;
}
sleep(3);
}
echo $out;
私はいくつかのログをやっていると私は($_SESSION['checker']
変数を変更する必要があります)同じスクリプトを実行しますので、もし$_SESSION['checker']
は、更新されていないように見えます以前に起動したスクリプトのwhileループには、古い$_SESSION['checker']
が表示されます。なぜ更新されないのですか?
「すべてが意味を持ちたい」と私は疑います。 –
こんにちは、あなたの質問を明確にしてください。 – brclz
私はあなたがPHPではなく、ajaxの部分でそれを破壊すべきだと思います。現在のhttprequestで.abort()を試して停止し、別のものを開始してください。 –