2016-03-21 12 views
1

セッションを使用してユーザーが認証されているかどうかを確認するリクエストがあります。その後、そのリクエストから、セッション変数を使用してcURLリクエスト(認証が必要)を行っています。php cURL要求によりセッションデッドロックが発生する

問題は、最初の要求がcURL要求が完了するまで待機し、cURL要求は最初の要求が完了するまでセッションを開始できません。私はデッドロックを起こして、両方の要求がタイムアウトになった。

方法はありますか?

+1

セッションファイルを別のプロセスから読み取ろうとする前に解放します。 –

答えて

1

最初のスクリプトでセッションを更新した後に、 を使用して、ファイルからロックを削除します(session_write_close();)。 PHP 7では

すぐに読んだ後にロックを解除することができます

session_start([ 
    'cookie_lifetime' => 86400, 
    'read_and_close' => true, 
]); 

HHVMはデフォルトでこれを行います。

さらに優れたアプローチは、memcacheのような非ロックセッションハンドラを使用することです。

関連する問題