5

最近我开始使用 cakephp3.1,我得到了下面的错误。

警告 (2): session_start(): 试图销毁未初始化的会话 [CORE/src/Network/Session.php, line 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)[核心/src/Network/Session.php,第 324 行]

当我在会话中设置多字节字时,例如登录用户名是日语或设置为闪存的多字节字,它就会发生。

所以我假设我没有安装 mbstring 扩展。不过已经安装好了。

4

3 回答 3

1

这通常是由于会话存储无法处理多字节字符而发生的。如果存储是 mysql 数据库,则设置

字符集utf8

utf8_general_ci的排序规则

用于保存会话数据的和字段解决了这些问题。

于 2016-04-18T10:06:54.023 回答
0

使用base64_encode() 这可能对您使用多字节字符串有用,我将它用于印地语。

于 2015-10-10T08:58:27.810 回答
0

将数据库编码设置为 utf8_general_ci

于 2016-03-03T09:15:41.907 回答