5 分間実行される php スクリプトを実行すると、別のブラウザー タブでこのファイルにアクセスできません。このタブが読み込まれていることを示していますが、最初の終了時にのみ読み込まれます。
セッションに問題がありますか、またはこの問題を解決するために何か提案できますか?
どうすればこの問題を解決できますか? セッションが必要です。
PHP では、セッション状態へのアクセスは同期されます。別のリクエストがアクセスできるようにするには、セッションを閉じる必要があります。session-write-close()を使用してセッションを閉じることができます。
ほとんどの場合、初期化後にセッション状態を変更する必要はありません。したがって、セッションをローカル変数にコピーするだけです。
// Copy session data to local variable
session_start();
$session = $_SESSION;
session_write_close();
// now use $session instead of $_SESSION
if (isset($session['foo'])) {
echo $session['foo'];
}
// Optionally open the session again to write something
// may lead to synchronization issues with parallel requests
session_start();
if ($reckless) {
$session['foo'] = 'bar';
$_SESSION = $session;
} else {
$_SESSION['foo'] = 'bar';
}
セッションを再度開いて変更することは、ほとんどの状況で悪い動きです。なぜセッション状態を使用しているのかを自問してください。リクエストを再構成して、リクエストに依存しないようにしてください。