pasar - recuperar variable de session php
Variable no definida: $_SESSION (2)
Resultó que había un código adicional en el modelo que estaba estropeando las cosas:
en beforeFind
y afterFind
:
App::Import("Session");
$session = new CakeSession();
$sim_id = $session->read("Simulation.id");
No sé por qué , pero ese era el problema. Eliminar esas líneas solucionó el problema que estaba teniendo.
E_NOTICE
errores E_NOTICE
en un archivo de CakePHP central cuando intenta hacer referencia a una sesión que no se ha establecido o desarmado ( cake/libs/cake_session.php line 372
):
function read($name = null) {
if (is_null($name)) {
return $this->__returnSessionVars();
}
if (empty($name)) {
return false;
}
$result = Set::classicExtract($_SESSION, $name);
}
He hecho una búsqueda a través de mi código (en la aplicación / directorio) y no puedo encontrar referencias a $_SESSION
o session_destroy
. ¿Me estoy perdiendo algo?
Este error aparece cuando trato de ejecutar cualquier prueba unitaria. ¿Esto es normal? Limpié el directorio cake/
y lo reemplacé con otro (misma versión) solo para asegurarme de que no había modificado inadvertidamente nada en los archivos centrales, pero sigo teniendo el mismo error. No estoy seguro de si esto es solo un defecto en el marco o algo más.
EDITAR
Aquí están los resultados de la ejecución de prueba en la línea de comando:
Welcome to CakePHP v1.3.11 Console
---------------------------------------------------------------
App : app
Path: /var/www/program/app
---------------------------------------------------------------
CakePHP Test Shell
---------------------------------------------------------------
Running app case models/owners_equity
E_NOTICE: Undefined variable: _SESSION in /var/www/program/cake/libs/cake_session.php on line 372
E_NOTICE: Undefined variable: _SESSION in /var/www/program/cake/libs/cake_session.php on line 372
ERROR->Unexpected PHP error [Undefined variable: _SESSION] severity [E_NOTICE] in [/var/www/program/cake/libs/cake_session.php line 372]
in testGenerateOwnerWithdrawals
in BalanceTestCase
in /var/www/program/app/tests/cases/models/owners_equity.test.php
ERROR->Unexpected PHP error [Undefined variable: _SESSION] severity [E_NOTICE] in [/var/www/program/cake/libs/cake_session.php line 372]
in testGenerateOwnerWithdrawals
in BalanceTestCase
in /var/www/program/app/tests/cases/models/owners_equity.test.php
$_SESSION
asegurarse de iniciar la sesión en la parte superior de cada archivo PHP donde desee usar $_SESSION
superglobal. Me gusta esto:
<?php
session_start();
echo $_SESSION[''youritem''];
?>
Olvidó la sesión AYUDANTE.
Mira este enlace: book.cakephp.org/2.0/en/core-libraries/helpers/session.html