いくつかのアクションを実行するループがあり、ループ内に増分するセッション カウンターがあります。このループが完了するまでに約 10 ~ 15 分かかるため、ユーザーにループの進行状況を示すプログレス バーが必要です。
私のAJAX呼び出しは、ループ内で設定したセッションの値を取得することを想定していますが、機能していないようです。未定義のインデックス エラーが発生します。
セッションが1つのスクリプトで使用されるとロックされ、使用が終了するまでロックが解除されないことをどこかで読みました。私のajaxスクリプトがセッションの値を取得できるように、セッションで強制的にロックを解除することは可能ですか?
例:
スクリプト 1 (ループ):
while(SOME CONDITION) {
//DO ACTIONS
$_SESSION['progress'] = $currProgress + 1;
}
スクリプト 2 (AJAX コール取得セッション):
function getCurrentProgress() {
$progress = isset($_SESSION['progress']) ? $_SESSION['progress'] : 0;
echo json_encode(array('progress' => $progress));
}
JS AJAX (30 秒ごとに呼び出す) を上記のスクリプトに