gpt4 book ai didi

php - IIS7 上的 FastCGI ...来自同一用户 session 的多个并发请求?

转载 作者:行者123 更新时间:2023-12-03 13:22:04 25 4
gpt4 key购买 nike

警告:我意识到这可能是一个服务器配置问题,但我认为可能有一个编程答案,这就是我在这里发布的原因......

在 Apache 上运行 PHP,我们的用户能够发出多个并发请求(例如,来自同一浏览器中的不同选项卡)。

由于在 IIS 下迁移到 FastCGI,这不再是默认行为。现在,当用户向服务器发起请求并且浏览器正在等待响应时,如果他们打开一个新选项卡并开始另一个请求,则 IIS 不会处理新请求,直到 IIS 完成前一个请求。

如果用户打开不同的浏览器并登录(这会为该用户启动一个新 session ),并发请求是可能的。

我的问题是:有没有办法配置 FastCGI/IIS7 允许来自同一个用户 session 的多个并发请求?如果没有,是否有替代方案可以允许这样做?

最佳答案

问题很可能是 session 机制。默认情况下,PHP session 由于它们使用文件系统,因此必须等待 session 文件关闭才能再次打开它们。因此,对同一 session 的后续请求会等待先前的请求,或者除了您的请求之外,再举一个例子,如果您有一个包含三个框架的框架集页面(不寒而栗),每个框架都引用该 session ,它们都会一次加载一个,因为每个页面都必须等待 session 机制。

可能的解决方案:

  • session 结束后,立即调用 session_write_close()
  • 实现一个使用数据库而不是文件系统的自定义数据库处理程序。
  • 关于php - IIS7 上的 FastCGI ...来自同一用户 session 的多个并发请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4054135/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com