2016-11-04 74 views
0

我有一个web应用程序开发本地主机写在PHP和JS,偶尔会卡住加载。 卡住加载我的意思是你仍然没有看到任何东西在页面上。 一旦卡住了,即使我在另一个标签中打开它,它仍然卡住。只有当我关闭窗口并重新打开时,它才会再次运行。PHP 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 
} 

A面的问题:为什么会停留在第22行,其中只是一个右大括号?

+0

通话早期也许你能告诉我们你的代码了。 –

回答

3

session_start的默认实现将锁定会话以防止竞争条件。这意味着,如果您在长时间运行的脚本中打开会话,并且您没有使用session_write_close关闭会话,则尝试打开该会话的下一个请求将一直等到锁定释放。

最简单的办法:关闭会话一起session_write_close()

+0

到目前为止,这似乎解决了它,谢谢 –