Symfony2.8在使用PHP 7.2时出现session_cache_limiter错误。

7
我正在处理一个已经用Symfony框架搭建的项目。以下是版本和服务器细节:
PHP:7.2
Web服务器:Apache 2.4.6
Symfony:2.8.1.1
在我的控制器上初始化新会话时,我遇到了以下警告。这个问题只出现在调试模式(app_dev.php)下,而不是在生产环境中。
“警告:session_cache_limiter():当会话处于活动状态时无法更改缓存限制器”
我已经通过谷歌搜索查看了该问题,并发现这是核心PHP警告。
我们如何使用Symfony 2.8版本解决这个问题?

请查看此链接。https://dev59.com/Pl8f5IYBdhLWcg3wK__4 - Brijesh Dubey
2个回答

4

看起来在框架中,session_cache_limiter()函数是在session_start()函数之后调用的。应该在session_start()函数之前调用。


@NikhilJoshi 嘿,你最终解决了这个 bug 吗? - Tomek Kobyliński
@TomekKobyliński 还没有。 - Nikhil Joshi
@vrajeshDoshi,感谢您的见解,我已经尝试过这个选项。我们检查了一下,发现我们没有在任何地方设置相同的内容。虽然我们已经解决了这个问题。 - Nikhil Joshi
1
@vrajesh 我已经添加了详细的分析,这将帮助其他人解决它。 - Nikhil Joshi

2

如果遇到此问题,请在系统中执行以下检查: 1. 检查Yaml文件中是否设置了cache_limiter。默认值必须为零。

parameters:
    session.storage.options:
        cache_limiter: 0
  1. 在流程中还需要检查Session是否在其他地方设置,而不是在Autoload中设置。

https://symfony.com/doc/2.8/components/http_foundation/sessions.html

  1. 最重要的是不要使用session_start,而应该使用Symfony的session->start

在我们的应用程序中,由于是旧版本,发现有很多地方都在使用session_start。因此,正如@vrajesh所说,应该使用session->start。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接