セッションを同期する必要があります。A書き込み/保存session Bまたはanother A待機中の場合。ファイルベースのセッション処理には必須です。
ただしA、セッションをロードしたら (ただし、変更を保存した後) B、同じセッションをロードすることも許可する必要があります。ロードするとファイルが開き、ファイルの内容がメモリに読み込まれて閉じられるためです。
AセッションをロードしAてセッションを保存している間、他のすべてのスクリプトをブロックする理由はありますか? 保存ハンドラのみで同期を行うことはできませんか?
したがって、同じセッションを共有する場合、2 つの PHP スクリプトが同時に動作することはありません。
例えばseslock.php
<?php
header('Content-Type: text/plain');
session_start();
if(isset($_GET['wait'])){
sleep(30);
echo "waiting\n";
}else{
echo "No Waiting\n";
}
?>
done
訪問seslock.phpはすぐに応答しますが、応答にseslock.php?wait は 30 秒かかります。seslock.php?waitしかし、問題は、最初に 2 番目にのみ要求する場合ですseslock.php。non-sleepブロックが 30 秒間待機するように要求するイベント。
なぜブロックするのかは私の質問ではありません。なぜブロックするのstart to saveですか?ブロックする代わりにonly save?