我在PHP中遇到卷曲问题,我无法弄明白。我有一个Web服务器(Apache),它通过HTTPS在另一台Apache服务器上与Web服务进行通信。我们称它们为“服务器A”和“服务器B”。
我看到的问题是,服务器A每次只使用curl连接到服务器A的每个浏览器的服务器B进行一次连接。我不确定这是否是卷曲或Apache问题。我已经看到几个地方的引用,每个服务器的最大连接设置为curl客户端的一个,但我无法验证它是否存在。
情景:
AFAICT请求全部序列化。我能够验证从浏览器到服务器A的多个连接是否已打开,但是每个连接到A的浏览器只能从A-> B打开一个https连接。
服务器B可以同时处理多个连接但由于某种原因,服务器A不会打开到服务器B的多个连接。我尝试从服务器A和B发送“连接:关闭”以查看是否有帮助。它没有。
我发现很多人都在讨论为每个脚本建立多个异步连接,但我想要做的是在不同的页面实例之间打开多个连接到一个外部服务器。
关于问题是什么或如何解决它的任何想法?
答案 0 :(得分:2)
本机php会话(文件处理程序)使用独占锁定模型 - 一次只有一个进程/线程可以处理特定会话ID的数据。调用session_start()时,执行将阻塞,直到进程可以获取会话文件的锁定。调用session_write_close()时会释放锁定,php会在脚本终止时自动调用。您可以手动调用它以释放锁定并提交更改。如果需要,每个脚本执行可以多次执行session_start()和session_write_close()。
答案 1 :(得分:0)
您是否认为服务器B只允许1个安全连接?
据我所知,这是一个浏览器安全问题,一次只能与同一主机进行1次安全连接。