我有php-fpm&我的服务器上安装了nginx堆栈。
我正在运行一个JS应用程序,该应用程序使用curl触发内部连接到第三方服务的AJAX请求。这项服务需要很长时间才能响应大约150秒。
现在,当我在另一个浏览器选项卡上连接到同一页面时,它甚至不会在触发ajax请求的页面上返回javascript代码。基本上所有后续请求都会一直加载,直到curl返回响应或超时为止。
这里,我将proxy_read_timeout设置为300秒。
我想知道为什么nginx持有资源而不服务其他客户端。
答案 0 :(得分:2)
问题是由于PHP会话锁定。当我以前发出某个请求时,PHP用于锁定会话文件,并且只在请求完成后才会释放。
为避免这种情况,您可以使用session_write_close()
。就我而言,我实现了redis会话。
问题解决了!!!