我得到了这个错误:
Error: [CakeSessionException] Unable to configure the session, setting session.auto_start failed.
我使用的是Cakephp 2.2.4。
编辑
看起来这个家伙也有同样的问题:Cakephp Session error on live site和使用这个
if(!isset($_SESSION)) session_start();
在AppController
的beforefilter
方法中修复错误。
所以我的问题是:为什么会发生这种情况?一切都很正常,然后突然出现了这个错误。此外,我已经意识到app/tmp/sessions
文件夹是空的,并且我已经将会话配置为由Config/core.php
处理。
发布于 2013-10-21 20:54:08
在PHP5.4.19版本中-开发人员关闭了从用户脚本设置session.auto_start选项的功能。
CakePHP仅在2.4.0版本中从默认会话配置中删除了此选项。
所以你有3个主要选择:升级CakePHP,降级PHP,或者使用标准php会话。
发布于 2014-01-28 08:18:33
安德烈·斯特鲁克的答案是正确的。他说:所以你有3个主要的选择:升级CakePHP,降级PHP,或者使用标准的PHP会话。
但是还有第四个选项,你可以简单地注释掉/lib/Cake/Model/Datasource/CakeSession.php
中的一行(在第557行附近):
// 'session.auto_start' => 0,
这会在该设置上停止Cake调用ini_set()
,并防止发生致命错误。
发布于 2013-09-30 05:35:47
作为PHP,你应该升级CakePHP或者降级Andriy's answer says。然而,如果你不想或者没有选择,你需要重新配置你的Cake会话,让它使用标准的PHP会话而不是Cake的会话。
app/Config/core.php
Configure::write('Session', array(
'defaults' => 'cake', // You need to change the value of this to 'php'
'timeout' => 120,
'cookieTimeout' => 20160,
'checkAgent' => false
));
https://stackoverflow.com/questions/19004460
复制相似问题