0

我正在尝试在我的应用程序中使用多个线程卷曲请求。问题是在 curl_multi 请求期间,应用程序变得无响应(另一个请求只是在等待)。此外,在 curl_multi 期间没有人可以使用该站点。卷曲完成后,服务器回答正常。

4

1 回答 1

4

这与 curl_multi 无关,而是与 PHP 会话有关。

你做了两个请求:

  1. 一个做 curl 请求的,持续很长时间
  2. 还有第二个请求。

第一个请求打开一个 php 会话并将其锁定。然后它会执行 curl 请求,这需要一些时间。

第二个请求等待 php 会话被释放,即等待第一个请求完成。

任何其他请求也会等待 php 会话被释放,这就是为什么看起来应用程序没有响应的原因。

解决方案是:

  • 避免长时间运行的脚本
  • 或通过调用 session_write_close() 在长时间运行的脚本之前关闭会话

请参阅PHP 下载阻止其余请求

于 2013-05-24T12:07:13.850 回答