session_start() の後、対応するセッション ファイルはロックされ、現在のスクリプトが終了するまでロックは解除されません。
ロック期間中にプロセスが同じセッション ID にアクセスした場合、ファイルのロックが解除されるまで session_start() は開始されません。
解決策は、セッションにデータを設定した後に session_write_close() を呼び出して、データをファイルに書き込み、セッションを終了することです
たとえば、次のコード
PHP コード
セッション名("STEST");
session_id("テストID");
session_start();
$_SESSION["カウント"]=0;
session_write_close();
スリープ(10);
エコー「成功」;
?>
session_write_close();
を追加しない場合
3 つのプロセスが同時にページにアクセスします。最初のプロセスは 10 秒間実行され、2 番目のプロセスは 20 秒間実行され、3 番目のプロセスは 30 秒間実行されます。
session_write_close() を追加した後
3 つの同時プロセスが 10 秒以内に実行されます