首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CakePHP错误:无法配置会话,设置session.auto_start失败

CakePHP错误:无法配置会话,设置session.auto_start失败
EN

Stack Overflow用户
提问于 2013-09-25 20:06:10
回答 5查看 16.4K关注 0票数 20

我得到了这个错误:

Error: [CakeSessionException] Unable to configure the session, setting session.auto_start failed.

我使用的是Cakephp 2.2.4。

编辑

看起来这个家伙也有同样的问题:Cakephp Session error on live site和使用这个

代码语言:javascript
运行
复制
if(!isset($_SESSION)) session_start(); 

AppControllerbeforefilter方法中修复错误。

所以我的问题是:为什么会发生这种情况?一切都很正常,然后突然出现了这个错误。此外,我已经意识到app/tmp/sessions文件夹是空的,并且我已经将会话配置为由Config/core.php处理。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-10-21 20:54:08

在PHP5.4.19版本中-开发人员关闭了从用户脚本设置session.auto_start选项的功能。

CakePHP仅在2.4.0版本中从默认会话配置中删除了此选项。

所以你有3个主要选择:升级CakePHP,降级PHP,或者使用标准php会话。

票数 21
EN

Stack Overflow用户

发布于 2014-01-28 08:18:33

安德烈·斯特鲁克的答案是正确的。他说:所以你有3个主要的选择:升级CakePHP,降级PHP,或者使用标准的PHP会话。

但是还有第四个选项,你可以简单地注释掉/lib/Cake/Model/Datasource/CakeSession.php中的一行(在第557行附近):

代码语言:javascript
运行
复制
// 'session.auto_start' => 0,

这会在该设置上停止Cake调用ini_set(),并防止发生致命错误。

票数 28
EN

Stack Overflow用户

发布于 2013-09-30 05:35:47

作为PHP,你应该升级CakePHP或者降级Andriy's answer says。然而,如果你不想或者没有选择,你需要重新配置你的Cake会话,让它使用标准的PHP会话而不是Cake的会话。

app/Config/core.php

代码语言:javascript
运行
复制
Configure::write('Session', array(
    'defaults' => 'cake', // You need to change the value of this to 'php'
    'timeout' => 120,
    'cookieTimeout' => 20160,
    'checkAgent' => false 
));
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19004460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档