Perte de session après une redirection sur serveur de prod [Résolu]

Karibot 89 Messages postés mardi 19 janvier 2010Date d'inscription 21 juin 2016 Dernière intervention - 28 janv. 2014 à 14:09 - Dernière réponse : jordane45 20650 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention
- 7 mars 2014 à 12:47
Bonjour,
Je pense que le titre est assez explicite, mais je détaille quand meme au cas ou ;)
j'ai deux fichiers: p1.php, et p2.php
dans le premier, je crée une session et je redirige vers le second dans lequel j'affiche ma variable de session.
Ce fonctionnement fonctionne très bien en local, mais lorsque je teste ça sur mon serveur de production, p2.php m'affiche un tableau vide (array()) au lieu de m'afficher ma var de session
p1.php
<?php
session_start();
$_SESSION['toto'] =  md5('toto');

header('location: p2.php'); exit;
?>

p2.php
<?php
session_start();
print_r($_SESSION);
?>


Résultats:

en local:
Array ( [toto] => s:32:"f71dbe52628a3f83a77ab494817525c6"; )
en prod:
Array ()

quelqu'un a-t-il une idée?

Merci pour votre aide.
Afficher la suite 

4 réponses

Répondre au sujet
jordane45 20650 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 26 avril 2018 Dernière intervention - 28 janv. 2014 à 18:27
0
Utile
2
Bonjour,

Pour ton header.. tu utilises strictement la même syntaxe que celle que tu nous présentes ou ton lien 'p2' est une autre url ?

Pourquoi cette question ?.. et bien simplement parce que le passage de variables de session ne fonctionne qu'avec des chemins relatifs..
Si tu essayes de passer des variables de sessions à une page que tu as appellés via son URL "complète" (exemple: www.monSite.fr/p2.php) cela ne fonctionnera pas alors que " ./p2.php" devrait ne poser aucun problème.
Pas vrai,
Cela fonctionne indifféremment que l'on utilise une adresse relative ou absolue

Par contre cela ne fonctionne pas si on change de serveur.
jordane45 20650 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 7 mars 2014 à 12:47
@jacques : Je me suis mal Exprimé... c'est l'utilisation d'un include via une URL qui pose problème.
En passant par le chemin absolu (full Path ou en Relatif ) pas de soucis...
Commenter la réponse de jordane45
Karibot 89 Messages postés mardi 19 janvier 2010Date d'inscription 21 juin 2016 Dernière intervention - 28 janv. 2014 à 18:33
0
Utile
bonjour et merci pour ta réponse,

Je viens à l'instant de régler mon problème :)
et oui c'était un chemin relatif, je savais que les sessions ne passent pas entre domaine.
En fait, mon problème était dû au fait qu'une répartition de mon disque était full => impossible d'écrire sur le disque.
J'ai remonté jusqu'au fichier errors.log qui prenait 80% de mon espace disque => du coup, je vais le gérer différement à l'avenir :)

donc, pour ceux qui aurait le même problème, il m'a suffit de supprimé le fichier en question et de redémarrer apache.

Merci à tous

--
Commenter la réponse de Karibot

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.