CakePHP Error: Unable to configure the session, setting session.auto_start failed

柔情痞子 提交于 2019-12-20 08:59:51

问题


I'm getting this error:

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

I'm using Cakephp 2.2.4.

EDIT

It seems this guy had the same issue: Cakephp Session error on live site and using this

if(!isset($_SESSION)) session_start(); 

inside beforefilter method of AppController fix the error.

So my question is: why this happened? Everything was working fine and then suddendly this error appeared. Additionally I've realized that the folder app/tmp/sessions is empty and I have configured the session to be handled by Cake (in Config/core.php).


回答1:


In PHP version 5.4.19 - developers closed the ability to set session.auto_start option from user script.

CakePHP removed this option from default session configuration only in 2.4.0 version.

So you have 3 main option: upgrade CakePHP, downgrade PHP, or use standard php session.




回答2:


Andriy Struk's answer is correct. He said: So you have 3 main options: upgrade CakePHP, downgrade PHP, or use standard PHP sessions.

But there's a 4th option, you can simply comment out a single line in /lib/Cake/Model/Datasource/CakeSession.php (around line 557):

// 'session.auto_start' => 0,

That stops Cake calling ini_set() on that setting, and prevents the fatal error.




回答3:


As Andriy's answer says, you should upgrade CakePHP or downgrade PHP. However, if you don't want to or don't have the option to, you need to reconfigure your Cake session so that it uses standard PHP sessions rather than Cake's session.

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 
));



回答4:


In your php.ini file, try setting session.auto_start to 1.




回答5:


as I do not have enough reputation to comment, I'm adding the following answer in addition to Simon's one:

to get it working, I had to comment out all three occurrences of 'session.auto_start' => 0 (around and after line 557 in CakeSession.php)

For details, see the following patch of the CakePHP team: https://github.com/cakephp/cakephp/commit/faa2cbd3c3fc1bbf83064727847789123110b8e3#diff-bd8dc176fa0f41743dbaafa75f77b5ae



来源:https://stackoverflow.com/questions/19004460/cakephp-error-unable-to-configure-the-session-setting-session-auto-start-faile

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!