2016-12-15 65 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!