質問: $session->get('firstvalue'); //etc etc 私が目にしている問題は、firstvalue ときどきの値が失われることです。これが他の変数で発生するかどうかはまだわかりません。私が読んだことから、joomlaがセッションをロックしていない可能性があります。つまり、joomlaはfirstvalueを設定しようとしますが、保存される前に別の変数によって上書きされます。これは正しい音ですか?状況についての私の理解が正しい場合、私はいくつかの解決策を考え出しました。あなたがより良いものを持っているなら、私はそれらを聞いてみたい:)私はできた 変数を配列に格納し、一度に設定します。 変数ごとに異なる名前空間を作成します。 要約すれば、joomlaの外部のスクリプトでjoomlaセッション変数を連続して設定すると、一部の値が失われる可能性があるかどうか知りたいのですが。それがありそうにない場合は、データ損失の原因となっている可能性があることに関する提案と、問題の解決方法に関する提案をいただければ幸いです。
回答: データベースをセッションハンドラーとして使用すると、この問題が発生しました。私が収集できるものから、スクリプトが終了するまで、セッションデータはデータベースに書き込まれません。つまり、最初のスクリプトが完了する前に2番目のスクリプトが実行を開始すると、まだデータベースに書き込まれていないため、新しい値なしでセッションデータが読み込まれます。セッションハンドラーをfileではなくdatabaseに切り替えるだけで運が良かったため、実際にファイルをロックして、最初のスクリプトが完了して保存するまで2番目のスクリプトが実行されないようにしました値。これはおそらく、ファイルがあるほど個々のテーブル行をロックする方法が適切ではないためです。