Enr*_*cos 19 php session cakephp cakephp-2.2
我收到这个错误:
Error: [CakeSessionException] Unable to configure the session, setting session.auto_start failed.
我正在使用Cakephp 2.2.4.
编辑
看来这家伙有同样的问题:现场网站上的Cakephp Session错误并使用它
if(!isset($_SESSION)) session_start();
Run Code Online (Sandbox Code Playgroud)
内部修复错误的beforefilter方法AppController.
所以我的问题是:为什么会这样?一切都工作正常,然后突然出现这个错误.另外我已经意识到该文件夹app/tmp/sessions是空的,我已将会话配置为由Cake(in Config/core.php)处理.
Sim*_*ast 27
Andriy Struk的回答是正确的.他说:所以你有3个主要选择:升级CakePHP,降级PHP或使用标准的PHP会话.
但是有第四个选项,你可以简单地注释掉一行/lib/Cake/Model/Datasource/CakeSession.php(在第557 行附近):
// 'session.auto_start' => 0,
Run Code Online (Sandbox Code Playgroud)
这会阻止Cake调用ini_set()该设置,并防止致命错误.
小智 21
在PHP版本5.4.19中 - 开发人员关闭了从用户脚本设置session.auto_start选项的功能.
CakePHP仅在2.4.0版本中从默认会话配置中删除了此选项.
所以你有3个主要选项:升级CakePHP,降级PHP或使用标准的php会话.
正如Andriy的回答所说,你应该升级CakePHP或降级PHP.但是,如果您不想或不想要选项,则需要重新配置Cake会话,以便它使用标准PHP会话而不是Cake会话.
应用程序/配置/ core.php中
Configure::write('Session', array(
'defaults' => 'cake', // You need to change the value of this to 'php'
'timeout' => 120,
'cookieTimeout' => 20160,
'checkAgent' => false
));
Run Code Online (Sandbox Code Playgroud)