PHP - $_SESSION no pasa valores en php 7

 
Vista:
Imágen de perfil de guillermo
Val: 9
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

$_SESSION no pasa valores en php 7

Publicado por guillermo (4 intervenciones) el 14/06/2018 15:13:34
Hola a todos, acabo de instalar php 7 y dejaron de pasarme los valores cargados el variables de sesión.

en pagina1
1
2
3
4
5
6
7
8
<?php
	session_start();
...
	$_SESSION['cf']  = $cf;
	 $home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/pagina2.php' ;
	  header('location:' . $home_url ) ;
?>

en pagina2
1
2
3
4
<?php
	session_start();
        var_dump($SESSION['cf']);
?>

muestra NULL

Alguien sabe por qué pasa esto?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

$_SESSION no pasa valores en php 7

Publicado por RiodaJS (2 intervenciones) el 14/06/2018 15:36:14
en pagina2
1
2
3
4
<?php
session_start();
var_dump($SESSION['cf']); //Aqui no escribiste bien, es  var_dump($_SESSION['cf']); Te falto el "_" antes de SESSION.
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de guillermo
Val: 9
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

$_SESSION no pasa valores en php 7

Publicado por guillermo (4 intervenciones) el 14/06/2018 16:14:05
Es cierto, escribí mal en el post, mejor transcribo las páginas reales:

pagina1.php
1
2
3
4
5
6
<?php
session_start();
$_SESSION['aa'] = 'perro';
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . 'pagina2.php' ;
header('location:' . $home_url );
?>

pagina2.php
1
2
3
4
<?php
session_start();
echo 'aca va la variable:' . $_SESSION['aa'];
?>

Lo podés ver funcionar en
www.web-moebius.com/pagina1.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 157
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

$_SESSION no pasa valores en php 7

Publicado por Andres (67 intervenciones) el 14/06/2018 17:21:17
Revisa el parametro "session.save_path" en el archivo php.ini, ve que ruta tiene configurada y asegurate de que exista en el sistema de archivos, que tenga permisos de escritura, que haya espacio disponible, etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de guillermo
Val: 9
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

$_SESSION no pasa valores en php 7

Publicado por guillermo (4 intervenciones) el 14/06/2018 17:38:13
Hola Andrés, el php.ini tiene
....
session.save_path = "/tmp"
….

Como no se dónde busca la carpeta la puse en el raíz, y en public_html
En ambos casos tiene permiso 777

Te adjunto el php.ini

Te cuento que esto comenzó a pasarme después que actualicé a MySQL 7 y a php7

Gracias por la paciencia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 157
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

$_SESSION no pasa valores en php 7

Publicado por Andres (67 intervenciones) el 14/06/2018 18:06:51
Por la ruta veo que usas linux, en el caso "/tmp" quiere decir que va en la raiz del sistema de archivos del sistema operativo, no el en la raíz del sitio, por lo cual la que pusiste en public_html sobra.

en cuanto a MySQL 7, creo que te refieres a la versión 5.7, aunque no veo que eso pueda causar el problema. Podría ser alguna restricción en el sistema operativo, por ejemplo CentOS tiene el CLinux que se encarga de esos temas (restringir acceso a directorios, etc), podrías revisar eso igual.

No descartes revisar el espacio disponible en disco duro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

$_SESSION no pasa valores en php 7

Publicado por RiodaJS (2 intervenciones) el 15/06/2018 04:57:07
1
2
3
4
5
6
7
8
9
10
11
<?php
 
session_start();
 
$_SESSION['aa'] = 'perro';
 
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/pagina2.php' ; // te falto el "/" antes de pagina2.php
 
header('location:' . $home_url );
 
?>
Fijate que cuando pones www.web-moebius.com/pagina1.php te lleva a la direccion www.web-moebius.compagina2.php, con el codigo que te puse te va a redirigir corecctamente. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de guillermo
Val: 9
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

$_SESSION no pasa valores en php 7

Publicado por guillermo (4 intervenciones) el 17/06/2018 17:48:13
Gracias, por ocuparte.
Realmente en la carpeta raíz con o sin barra funciona igual.

Ejecuté
phpinfo();
if (!is_writable(session_save_path())) {
echo 'La ruta "'.session_save_path().'" no tiene permisos de escritura en PHP!';
}

y vi que había una diferencia entre session save path local y master value.

El local no tenía permisos suficientes

Di permiso 777 a la carpeta específica y funcionó.

Después me di cuenta que si hubiera puesto como primera línea del php
$camino = session_save_path('/tmp');
donde /tmp es el path habilitado en master path también hubiera funcionado.

Abrazos

Guille
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar