2017-06-24 1 views
-2

私は60秒かかるPHPスクリプトがあります。私はChromeの1つのタブで開きます。 2番目のタブで同じスクリプトを開きたいが、1番目のタブの実行が終了するまで実行されない。実際には、スクリプトの実行が終了するまではウェブサイト全体にアクセスすることはできません。最初のタブがまだロードされている間に2番目のタブに同じWebサイトを開きます

一方、私は同じスクリプト/ウェブサイトを開いてFirefoxや他のブラウザで実行できますが、Chromeで動作します。私は同じブラウザからそのスクリプトの複数のインスタンスを実行できるようにしたい。

サーバー設定はありますか?それをどうすれば実現できますか?

ありがとうございます!

+0

[MCVE] [尋ねる]と – pvg

+0

、これはそれがジョブキューにあるか、あなたのコードを最適化しようとする必要があり、大きなプロセスである場合、スクリプトは、4秒exedeべきではありませんを見てみましょう。コード –

+0

を入力してください。アプリケーションによって異なります。私は5〜6分実行するアプリを持っている。エンコードジョブを処理します。 – stepanadrian

答えて

0

このような動作は、通常、PHPセッションのロックが原因です。最初のスクリプトが実行されている間、セッションをロックするので、2番目のスクリプトはロックを解除するのを待たなければなりません。

これを修正するには、長いプロセスを開始する前にセッションを閉じます。

session_write_close(); 
// now run your slow code 
+0

ありがとう!私はこれをテストします! – stepanadrian

+0

それはうまくいった!すぐに新しいセッションを開始できます!十分にあなたに感謝することはできません! – stepanadrian

関連する問題