session inconnue

zest
Invité n'ayant pas de compte PHPfrance

05 févr. 2007, 18:56

bonjour,

je suis en train de tester un site sur le serveur free..

j'utilise des variables de sessions qui fonctionnent parfaitement sur mon serveur localhost mais qui ne passent pas sur le site chez free

j'obtiens un message d'erreur du type :

Warning: Unknown: open(/mnt/133/sdc/2/0/site/sessions/sess_189d500daedc3861889e9f3ecfae90fa, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/133/sdc/2/0/site/sessions) in Unknown on line 0

qu'est ce qui ne va pas ?

vous pouvez m'aider..je vous en remercie d'avance

ViPHP
ViPHP | 1996 Messages

05 févr. 2007, 19:03

As tu vérifié que chez free il faut un dossier appelé "sessions" dans la racine WWW. Il faut le créer manuellement.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Invité
Invité n'ayant pas de compte PHPfrance

05 févr. 2007, 19:09

oui, je viens de voir un ancien post à ce sujet...

je regarde sur le site de free et je reviens ici ...

Mammouth du PHP | 693 Messages

05 févr. 2007, 19:10

Il n'est pas fait automatiquement, il faut le créer soit même. Et attention a bien le nommer (j'ai fait l'experience...)

ViPHP
ViPHP | 1996 Messages

05 févr. 2007, 19:14

C'est pour cela qu'il faut le nommer : "sessions"

regarde bien le message d'erreur :

Warning: Unknown: open(/mnt/133/sdc/2/0/site/sessions/sess_189d500daedc3861889e9f3ecfae90fa, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Invité
Invité n'ayant pas de compte PHPfrance

05 févr. 2007, 19:39

bon, je viens d'aller voir chez free..mais je n'ai trouvé aucune doc au sujet des sessions..il ya juste quelques pages concernant la restriction d'accès...

vous dites qu'il faut créer un répertoire..mais juste un répertoire ? avec rien dedans ?

Eléphanteau du PHP | 38 Messages

05 févr. 2007, 19:40

oui, juste un répertoire nommé 'sessions' à la racine de ton hébergement

Invité
Invité n'ayant pas de compte PHPfrance

05 févr. 2007, 20:19

ca a l'air de marcher...
par contre, je rencontre un autre problème que je ne rencontrais pas sur mon serveur local

je passe une variable de session sous forme tableau : $_SESSION['a'][$id]=$a;

c'est une variable issue d'une boucle while qui récupère tous les résultats du paramètre $id

sur la page de récupération, je fais :
foreach($_SESSION['a'] as $id=>$a){.......quelque chose

mais je n'obtiens rien sur mon site free

et impossible de rajouter session_start(); sur la page de récupérationn car j'ai un message d'erreur

vous ave une idée du problème ?

merci par avance

Eléphanteau du PHP | 38 Messages

05 févr. 2007, 20:35

Pour avoir une meilleure idée du problème, il faudrait sans doute connaître le message d'erreur.

Invité
Invité n'ayant pas de compte PHPfrance

05 févr. 2007, 22:31

un message d'erreur classique : "session already been started.."

mais c'est curieux, je ne peux pas récupérer ma variable tableau, rien à faire ..alors que sur le site en local, il n'y a aucun problème

Invité
Invité n'ayant pas de compte PHPfrance

05 févr. 2007, 23:06

je passe une commande du type :
if(empty($_SESSION)){session_start();}

et j'obtiens un message d'erreur du type :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/133/sdc/2/0/site.php:64)

ViPHP
ViPHP | 2144 Messages

05 févr. 2007, 23:56

Directio la FAQ : http://www.phpfrance.com/forums/voir_sujet-47.php

ps: toujours faire une recherche avant de poster... :wink:

Invité
Invité n'ayant pas de compte PHPfrance

06 févr. 2007, 00:42

ok, j'avais vu le problème...par contre, mon souci initial reste le même.

lorsque je passe ma variable session en récupérant tous les résultats $id =>$_SESSION['var'][$id]=$var;

sur ma page de récupération, je passe : foreach($_SESSION['var'] as $id=>$var){......echo un tableau;

j'obtiens le message suivant :
Warning: Invalid argument supplied for foreach() in /mnt/133/sdc/2/0/fichier.php on line 10

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 févr. 2007, 09:43

Si tu fait
echo "<pre>";
print($_SESSION);
echo "</pre>";
Est-ce que ta variable de session contient des données ?
Est-ce qu'elle contien un sous tableau 'var' ?

Si ce n'est pas le cas, ce n'est pas l'affichage qui ne fonctionne pas, c'est le remplissage de la variable de session. ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

06 févr. 2007, 13:54

j'affiche : "array"

bizarre mais encore une fois, cela fonctionne très bien en local et pas chez free...