PHP セッションの使用に問題があります。
私は AJAX を使用して、プロセスの開始をトリガーするためだけに使用されるアプリ内のアクションにリクエストを送信します。この進行状況はセッション変数に保存されます。
問題は、最初のアクションが完了するまで、別のアクションからこの変数にアクセスできないことです。
このようなもの:
public function startWorkingAction() {
$namespace = new Zend_Session_Namespace('progressOfWork');
$namespace->totalItems = 0;
$namespace->processedItems = 0;
//... processing items
$namespace->totalItems = $itemCount;
foreach($items as $item) {
//process a single item
$namespace->processedItems++;
}
}
そして、これまでの進行状況を確認する別のアクションがあります。
public function checkProgressAction() {
$namespace = new Zend_Session_Namespace('progressOfWork');
echo json_encode(array(
'total' => $namespace->totalItems,
'processed' => $namespace->processedItems
));
}
どちらのアクションも AJAX リクエストでトリガーされます。問題は、最初のアクションが完了するまでセッション名前空間にアクセスできないことです。
どこが間違っていますか?