最近我开始使用cakephp3.1,我收到了下面的错误。
警告(2):session_start():试图销毁未初始化的会话[CORE / src / Network / Session.php,第324行]
警告(2):session_start()[function.session-start]:无法解码会话对象。会话已被销毁[CORE / src / Network / Session.php,第324行]
警告(2):session_start()[function.session-start]:无法发送会话缓存限制器 - 已发送的标头(输出从/ home / www / service / vendor / cakephp / cakephp / src / Error / Debugger开始.php:742)[CORE / src / Network / Session.php,第324行]
当我将多字节字设置到会话中时,例如登录用户的名字是日语或者多字节字设置为闪存,它就会发生。
所以我假设我没有安装mbstring扩展。但是已经安装了。
答案 0 :(得分:1)
这通常是由于会话存储无法处理多字节字符而发生的。如果存储是一个mysql数据库,那么设置
字符集指向 utf8
整理到 utf8_general_ci
表和保存会话数据的字段解决了这些问题。
答案 1 :(得分:0)
使用base64_encode() 这可能对您使用多字节字符串很有用 我将它用于印地语。
答案 2 :(得分:0)
将数据库编码设置为utf8_general_ci