php session cakephp cakephp-2.2

Error de CakePHP: no se puede configurar la sesión, no se pudo configurar session.auto_start



cakephp-2.2 (5)

Estoy recibiendo este error:

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

Estoy usando Cakephp 2.2.4.

EDITAR

Parece que este tipo tuvo el mismo problema: Cakephp Error de sesión en el sitio en vivo y al usar este

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

Dentro del método antes del AppController de AppController corrige el error.

Así que mi pregunta es: ¿por qué sucedió esto? Todo funcionaba bien y de repente apareció este error. Además, me he dado cuenta de que la carpeta app/tmp/sessions está vacía y configuré la sesión para que sea manejada por Cake (en Config/core.php ).


Como dice la respuesta de Andriy , debes actualizar CakePHP o degradar PHP. Sin embargo, si no quiere o no tiene la opción de hacerlo, debe reconfigurar su sesión de Cake para que use sesiones de PHP estándar en lugar de la sesión de 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 ));



En la versión 5.4.19 de PHP, los desarrolladores cerraron la capacidad de configurar la opción session.auto_start desde el script del usuario.

CakePHP eliminó esta opción de la configuración de sesión predeterminada solo en la versión 2.4.0.

Así que tienes 3 opciones principales: actualizar CakePHP, degradar PHP o usar una sesión de php estándar.


En su archivo php.ini, intente configurar session.auto_start en 1.


La respuesta de Andriy Struk es correcta. Dijo: Así que tienes 3 opciones principales: actualizar CakePHP, bajar de categoría de PHP o usar sesiones estándar de PHP.

Pero hay una cuarta opción , simplemente puede comentar una sola línea en /lib/Cake/Model/Datasource/CakeSession.php (alrededor de la línea 557):

// ''session.auto_start'' => 0,

Eso detiene a Cake llamando a ini_set() en esa configuración, y evita el error fatal.