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