PHP网络应用程序卡住加载

时间:2016-11-04 08:47:04

标签: php session

我在使用PHP和JS编写的localhost上开发了一个Web应用程序,偶尔会遇到加载问题。 卡住加载我的意思是你仍然没有在页面上看到任何东西。 一旦它被卡住,即使我在另一个标签中打开它,它仍然卡住了。只有当我关闭窗口并重新打开它才能再次工作。

由此,我怀疑它与会话有关,但我不知道会话如何影响这一点。它是PHP会话处理代码还是浏览器?

我主要使用Chrome(现在版本54)。服务器是在Windows 10上运行的XAMPP 5.6.3版本。该应用程序与SQL Server 2012建立了连接,但在这种情况下我并不相信这是相关的。

其他信息:

如果我等待足够长的时间,最终脚本会超时并显示:

Fatal error: Maximum execution time of 90 seconds exceeded in project_functions.php on line 22

function startSession(){
    if (session_status() == PHP_SESSION_NONE) {
        session_start();
    } // this is line 22
}

一个侧面问题:为什么它会停留在第22行,这只是一个结束支撑?

1 个答案:

答案 0 :(得分:3)

Map<String, Object> map = mapper.readValue(text, new TypeReference<Map<String, Object>>() { }); Map<String, Object> mainMap = (Map<String, Object>) map.get("main"); System.out.println(mainMap.get("temp")); 的默认实现将锁定会话以防止竞争条件。这意味着如果您在长时间运行的脚本中打开会话并且不用session_start关闭它,则尝试打开该会话的下一个请求将等到锁定被释放。

简单的解决方案:通过调用session_write_close

提前关闭会话