session cakephp login cakephp-2.0 cakephp-2.3

session - Sesiones de CakePHP 2.x que se comportan de forma incoherente entre desarrolladores locales y producción



login cakephp-2.0 (2)

En tu aplicación / Config / core.php echa un vistazo a estas cosas.

  1. Si está utilizando protocolos SSL y no basados ​​en SSL , asegúrese de que cookie_secure se haya establecido como falso.

    Configure::write(''Session'', array( ''defaults'' => ''php'', ''ini'' => array( ''session.cookie_secure'' => false ) ));

  2. Intente cambiar la configuración de Session de php por defecto a cake o db como

    Configure::write(''Session'', array( ''defaults'' => ''php'', // change ''php'' to ''cake'' or ''database'' ''cookie'' => ''my_app'', ''timeout'' => 4320 //3 days ));

  3. También intente configurar Session.checkAgent en falso, solo por una vez para asegurarse de que sea un problema del navegador.

  4. Intente cambiar Session.name de su sesión, por defecto es ''CAKEPHP''

    Configure::write(''Session'', array( ''name'' => ''New-Session-name'' ''defaults'' => ''php'', // change ''php'' to ''cake'' or ''database'' ''cookie'' => ''my_app'', ''timeout'' => 4320 //3 days ));

  5. Elimine todos los archivos de caché de todos los subdirectorios de / app / tmp

  6. Establezca el nivel de depuración en 1, para actualizar la caché. Si aún no ve un error, intente configurar error_reporting en verdadero en php.ini. (Aunque, este es muy obvio, todavía lo estoy señalando en caso de que se lo haya perdido)

Espero que esto ayude

Tengo un sitio CakePHP 2.x en el que estoy trabajando que funciona según lo previsto a nivel local. El inicio de sesión funciona, los mensajes flash de sesión funcionan, etc. Cuando presiono el código en mi servidor de preparación / producción, se está rompiendo.

Los inicios de sesión ya no funcionan, no aparecen mensajes flash de sesión, algunas acciones del controlador que deberían estar redirigiendo a / usuario / inicio de sesión no muestran nada (documento vacío), etc.

No sé cuál sería el problema. En función de los problemas que estoy experimentando y de algunas búsquedas que he realizado, ¿creo que he descartado problemas como el espacio en blanco después del cierre ?> En un archivo PHP de código único (controladores). Estoy usando sesiones de base de datos, y veo que los registros de sesión se crean en la base de datos en mi instancia local, pero no en la instancia remota de puesta en escena / prod.

Cualquier ayuda sería muy apreciada. Gracias.


Una de las recomendaciones que encontré con frecuencia fue asegurar que no hubiera espacios en blanco después de la etiqueta PHP de cierre en un archivo de solo código (o preferiblemente que no tenga una etiqueta PHP de cierre). Comprobando todos mis archivos mostró que ese era el caso. De alguna manera, sin embargo, logré poner un solo salto de línea antes de la etiqueta PHP de apertura en AppController.php y ese era el problema. Mis disculpas a cualquiera que haya perdido el tiempo en esto. Solo espero que esto ayude a alguien en el futuro que torpemente comete el mismo error.