P粉6383439952023-08-09 11:37:21
ファイル システム ベースのセッションの問題が発生しています。アップロード スクリプトは実行中にセッション バックエンド ファイルをロックするため、ロックが解除されるまでセッション情報にアクセスできません。
最も簡単な方法は、アップロード スクリプトで定期的にセッションを解放して再ロックすることです。これにより、同時に、進行状況スクリプトにセッションを読み取る機会が提供されます。
セッション ロックを解放するには、アップロード スクリプト内の任意の場所で session_write_close を呼び出します。これを行うと、後で session_start が再度呼び出されるまで、セッション変数にアクセスできなくなります。このサイクルを繰り返すことができます。
他にもより強力なソリューションがあります。たとえば、スクリプトの実行中にロックを保持しないストレージ メカニズムに進行状況情報を移動したり、セッション ID に基づいて各ユーザーの情報を識別したりできます (セッションが存在する場合、セッションを開始する必要はありません)。 ID を取得します)