Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx+;PHP-FPM来自单个客户端的多个连接_Php_Nginx - Fatal编程技术网

Nginx+;PHP-FPM来自单个客户端的多个连接

Nginx+;PHP-FPM来自单个客户端的多个连接,php,nginx,Php,Nginx,这是我的问题 我用Nginx和PHP-FPM设置了我的开发机器。总的来说,它工作得很好,除非我有一个长期运行的进程,将大量非常大的文件导入数据库。现在,在您开始认为这是另一个“网关超时”问题之前,它不是(sorta) 长时间运行的过程本身运行良好。该过程实际上会将未缓冲的JSON发送回客户端,以便在长过程运行期间更新其显示。同样,这一切都很好地工作,我从来没有见过网关超时在这个特定的连接 我的问题是当我在浏览器中打开另一个选项卡,并在导入过程运行时尝试在PHP程序中执行其他操作时。正是这些后续连

这是我的问题

我用Nginx和PHP-FPM设置了我的开发机器。总的来说,它工作得很好,除非我有一个长期运行的进程,将大量非常大的文件导入数据库。现在,在您开始认为这是另一个“网关超时”问题之前,它不是(sorta)

长时间运行的过程本身运行良好。该过程实际上会将未缓冲的JSON发送回客户端,以便在长过程运行期间更新其显示。同样,这一切都很好地工作,我从来没有见过网关超时在这个特定的连接

我的问题是当我在浏览器中打开另一个选项卡,并在导入过程运行时尝试在PHP程序中执行其他操作时。正是这些后续连接挂起并最终返回“504网关超时”。如果它是一个完全不同的PHP项目,那么它似乎可以工作,因此只有在执行相同的“index.PHP”脚本时才会工作

关键是,如果我抓起我的android平板电脑,在那里打开一个页面,它就可以正常工作了

因此,PHP-FPM似乎只允许每个客户端执行一个脚本

什么。。。。那个

实际上,我在3台机器上设置了相同的设置,它们都做相同的事情。有人知道我是怎么搞砸的吗


谢谢。

sessions?如果您在其他浏览器中打开或以匿名方式打开,该怎么办?好的,现在我们有进展了。是的,开放和隐姓埋名是有效的!我仍然不确定问题在哪里,也不知道如何解决。好吧,会话?:-那些应用程序共享会话吗?刚刚找到。这解释了一切。我不知道会话是这样被阻止的。必须是使用会话存储数据的缓存后端。可能会把它切换到memcached或其他什么东西,看看是否能修复它。感谢您为我指明了正确的方向。实际上,我从未直接访问$\u会话变量,而是使用我的会话类。所以在构造函数的末尾,我调用了session_write_close()来修复它。此外,应用程序的整体响应性也显著提高。多赢!会议?如果您在其他浏览器中打开或以匿名方式打开,该怎么办?好的,现在我们有进展了。是的,开放和隐姓埋名是有效的!我仍然不确定问题在哪里,也不知道如何解决。好吧,会话?:-那些应用程序共享会话吗?刚刚找到。这解释了一切。我不知道会话是这样被阻止的。必须是使用会话存储数据的缓存后端。可能会把它切换到memcached或其他什么东西,看看是否能修复它。感谢您为我指明了正确的方向。实际上,我从未直接访问$\u会话变量,而是使用我的会话类。所以在构造函数的末尾,我调用了session_write_close()来修复它。此外,应用程序的整体响应性也显著提高。多赢!