2016-12-15 66 views
-2

在PHP上,使用curl或file_get_contents下載一個大文件需要大約30秒到10分鐘,然後將其保存到服務器,但在下載期間,我無法要求一個新的請求,我嘗試一個新的PHP請求,但它沒有加載,直到最後的PHP腳本/下載結束。PHP Curl + Mysql阻止新請求

如果我在另一個網頁瀏覽器上打開同一個網站,它會正常工作。

Thx

+0

你的問題有兩個部分,兩者都不是很強。首先,在向瀏覽器返回消息後在後臺處理:http://stackoverflow.com/questions/15273570/continue-processing-php-after-sending-http-response。問題的第二部分是在處理完成時通知客戶。用PHP可能意味着輪詢服務器以查看文件是否準備就緒。如果Javascript是一個選項,您可以使用它來創建文件請求,而不會阻止瀏覽器的常規操作。 – Jerry

+0

您的腳本是否使用會話變量?默認情況下,一次只能在同一個會話中運行一個腳本。您需要先關閉會話,然後再發出長卷曲請求以允許其他腳本使用同一個會話。 – Barmar

+0

是啊即時通訊使用會話,PHP會話 –

回答

0

鎖定PHP會話以防止併發寫入。 U需要關閉會話以啓動使用會話的新腳本。

我使用session_write_close關閉它後,我回憶或更新我需要的數據。

Thx!