【发布时间】:2019-03-31 11:06:42
【问题描述】:
我使用 Symfony 作为 Web 应用程序的框架,但遇到 PHP 锁定会话的问题。
当我打开浏览器选项卡并访问处理大量数据的应用程序页面时(这需要 12 到 18 秒),如果我打开另一个选项卡并访问另一个应用程序更轻的页面(例如 index ,在不到一秒的时间内加载),在前一个标签完成之前,后一个标签不会加载。
我认为这是因为:当我打开第一页时,Symfony 控制器会自动打开会话,PHP 会锁定它存储会话的文件,因此,直到该页面没有完成处理,控制器才会关闭会话并PHP释放保存session的文件,后面的页面(共享session)不会加载。
我尝试将 PHP 处理程序更改为 Memcache 并解决了此错误,但我想知道您是否知道任何 在 PHP 存储会话时避免在 Symfony 中锁定 PHP 会话的简单方法在文件中。
【问题讨论】:
-
我遇到了类似的问题,在这里找到了解决方案:stackoverflow.com/questions/53012940/…
标签: php symfony session locking