出于某种原因,我发现查看我的网站时出现问题,浏览器中一次只能加载一个php页面。 例如,如果我打开“PageA.php”然后打开“PageB.php”,“PageB.php”不会返回任何结果(显示loading ..),直到“PageA.php”完成加载。
我在CentOS上使用Apache Httpd。有人能帮帮我吗?
谢谢!
答案 0 :(得分:3)
您可能正在使用基于文件的PHP会话,默认情况下会在特定脚本实例使用会话时锁定会话文件。这将导致使用相同会话的脚本上的任何其他命中被锁定,直到第一个脚本完成。
如果您需要长时间运行的脚本和/或允许并行使用页面,则必须使用session_write_close()
在脚本中明确释放会话锁定。
如果这样做,$_SESSION
仍可用于读/写,但在脚本退出时将不再自动保存更改。但是,您可以稍后执行另一个session_start()
(假设没有执行输出)来“恢复”会话并再次启用自动保存行为。