Hola,
Tengo un problema con las sesiones desde hace unos días y no le encuentro solución por ningún lado.
Tengo un login que sea realizó con php limpio, este login genera una sesión y la guarda en la base de datos, para eso se modifican los "handlers". Ahora estoy realizando una aplicación en symfony y necesito obtener esta sesión de la base de datos, para eso tengo este código:
Código PHP:
// Este archivo modifica los "handlers" de la sesión para leer/escribir la base de datos
include auth.php;
if ($_SESSION != null) {
$session = $request->getSession();
foreach ($_SESSION as $key => $value) {
// Evitamos duplicar las sesiones donde guarda la info symfony
if ($key !== '_sf2_attributes' &&
$key !== '_sf2_flashes' &&
$key !== '_sf2_meta') {
// Guardamos nuestros datos en sesiones
$session->set($key, $value);
}
}
}
Este código es un extracto del original, pero básicamente esto es lo que hago, yo se que no es lo mejor pero soy nuevo en symfony y no encontré otra forma de hacerlo...
Después de esto en alguna otra ruta, la que sea, quiero obtener mi sesión que previamente guarde y el resultado es null. También note que en la base de datos se sobreescribe mi sesión por la de symfony:
Código PHP:
array(3) {
["_sf2_attributes"]=>
array(0) {
}
["_sf2_flashes"]=>
array(0) {
}
["_sf2_meta"]=>
array(3) {
["u"]=>
int(1429868058)
["c"]=>
int(1429868025)
["l"]=>
string(1) "0"
}
}
Yo pienso que el problema es que al modificar los "handlers" desde el archivo "auth.php" también se modifican los de symfony.