会话问题Symfony 3.4:警告:session_start():无法解码会话对象。会话已被破坏

时间:2018-07-27 19:41:37

标签: symfony

我正在使用Wamp64在本地开发Symfony 3.4网站。会话管理是Symfony 3.4的默认设置(文件形式)。我的代码专门添加到会话存储中的唯一内容是一个变量,即整数。

但是,我可以浏览几页看到错误的页面,然后复制一个问题:

Warning: session_start(): Failed to decode session object. Session has been destroyed

仅当离开某些页面时才会发生(它们似乎是表单字段数量相对较多(包括4或5个EntityType字段)的页面)。它的作用就好像会话文件太大了(尽管我没有发现有大小限制的文件,文件约为50kB)或被表单中的数据损坏了。我发现有线程表明这可能是由于存储不寻常的字符引起的,但是我对字符集的形式或实体没有做任何不寻常的事情。

最初,我一直在会话中存储完整的实体。研究表明,这可能是问题所在,因此将内容重构为仅存储实体的ID。不用找了。我发现这里的线程将问题归咎于垃圾回收,但是我所做的任何更改都没有任何区别。至少现在还没有在部署服务器上遇到此问题。

错误消息的文本似乎来自PHP本身(该字符串不在symfony脚本文件中)。

有什么想法吗?还是调试建议?

更新:我发现确实是通过将一个复杂的实体保存到会话中触发该问题的(由于某种原因搜索未能找到它)。没关系我只需要找到另一种解决方法。

0 个答案:

没有答案