sessions ne marchent plus :heink: [PHP] - PHP - Programmation
Marsh Posté le 07-06-2004 à 22:57:38
les sessions doivent etre intialisées avant l'envoi des entetes, donc si tu as du code avant qui génère des warnings, envoi d'infos et donc sessions pas possibles. Mais ce qui est bizarre c'est que si c'est ça tu dois avoir un warning du genre "Headers already sent in line x"
Marsh Posté le 07-06-2004 à 23:52:09
Ben non, j'ai bien fait attention à ça.
Je le répète, j'avais un autre site qui marchait impec avant, je n'ai touché qu'à la config de php.ini, et il ne marche plus.
Ca m'apprendra à ne pas faire de copie de sauvegarde, tiens...
Marsh Posté le 08-06-2004 à 19:41:02
je vous épargne les commentaires, vous avez les mêmes
Citation : |
Voilà, en espérant que ça aide
Marsh Posté le 09-06-2004 à 21:20:12
Yup
Je suis pas pressé mais j'aimerais quand-même que ça remarche
Marsh Posté le 09-06-2004 à 22:34:28
à tous les coups, c'est le répertoire temporaire utilisé pour stocker les sessions qui est mauvais. (session.save_path)
Marsh Posté le 10-06-2004 à 19:04:20
Merde, les messages d'erreur
Warning: session_start() [function.session-start.html]: open(/tmp\sess_19d81eaa9e0682bbd07c842f234989f5, O_RDWR) failed: No such file or directory (2) in d:\www\data\www\cosmorro\admin\login.php on line 2
Warning: session_start() [function.session-start.html]: Cannot send session cookie - headers already sent by (output started at d:\www\data\www\cosmorro\admin\login.php:2) in d:\www\data\www\cosmorro\admin\login.php on line 2
Warning: session_start() [function.session-start.html]: Cannot send session cache limiter - headers already sent (output started at d:\www\data\www\cosmorro\admin\login.php:2) in d:\www\data\www\cosmorro\admin\login.php on line 2
Et comme je l'ai déjà dit, mon rep temporaire est bien là, et avant ça marchait. En revanche, ce qui est étrange, c'est qu'il est en lecture seule et que je ne peux pas la retirer (la case est cochée avec un carré vert, quand je décoche et ok, ça me la remet).
Marsh Posté le 10-06-2004 à 19:08:59
ton problème est dans la première ligne: le répertoire est inaccessible. Essaie un autre répertoire (genre c:\temp). Le reste. Les deux autres erreurs, c'est parce que tu as commencé à générer une sortie HTML, alors que la session a besoin d'envoyer un cookie au client AVANT toute génération de page.
Marsh Posté le 10-06-2004 à 21:37:34
t'es sûrque y a pas de point virgule devant ça ?
Code :
|
Marsh Posté le 11-06-2004 à 23:10:06
Je suis chez un pote donc je suis loggé avec son compte, mais oui, j'ai recopié toutes les lignes où y'avait pas de ";"... En plus avec la coloration de scite je peux pas me tromper
par contre :
Citation : |
c'est dans quel sens les slahes sous windows ?
Ah oui d'ailleurs, j'ai créé un nouveau répertoire c:\temp et j'ai modifié php.ini pour qu'il pointe les sessions là-dessus.
J'ai redémarré apache, toujours exactement la même erreur. Je me dis qu'il faut peut-être que je reboote un autre truc, alors ne sachant pas quoi, je reboote l'ordi.
Et là, toujours exactement la même erreur, qui ne trouve pas le répertoire /tmp
Mais heu, il s'appelle temp, pas tmp, le nouveau répertoire temporaire ! Il est méchant php !
Edit : ah oui au fait, j'ai essayé ce nouveau rep avec les slashes dans les deux sens, ben c'est pareil...
Marsh Posté le 11-06-2004 à 23:26:41
perso j'ai ceci:
Code :
|
Marsh Posté le 15-06-2004 à 09:06:31
Les sessions PHP peuvent ne pas fonctionner si le nom de ta machine comporte le caractere ' _ ' vérifie que ton nom de machine n'as pas ça , on ne sait jamais ...
Marsh Posté le 15-06-2004 à 09:25:13
Essaie
C: /temp (sans espace)
Je ne comprends pas que tu aies dû créer un dossier portant ce nom, il existe déjà, normalement.
N'oublie pas (c'est con, mais ça a pu t'arriver) de redémarrer Apache après modification du php.ini, sinon tes modifications ne sont pas prises en compte !
Marsh Posté le 15-06-2004 à 19:33:35
non, je n'ai pas de _ dans le nom de ma machine.
le répertoire c:\temp n'existe pas par défaut sous winXP...
bon, merci, j'essayerais.
Marsh Posté le 07-06-2004 à 22:02:42
Bonjour à tous
Je suis sous windows, et je programme de temps en temps en php. J'avais fait un site qui utilisait les sessions, tout allait bien.
Et là, j'ai osé activer, dans php.ini, les messages de warning, et les sessions ne marchent plus. En effet, il ne trouve pas le chemin des sessions. Pourtant, ce répertoire existe, mon php.ini a bien un session.save_path = "dwww/php/tmp/", et surtout, je n'ai rien touché à autre chose que les messages d'erreur et de warning pour que ça ne marche plus (mon ancien site qui marchait ne marche plus non plus, au passage). Du moins, il me semble.
A moins que j'aie activé ou désactivé un truc vachement important pour les sessions sans trop faire gaffe, ce qui est possible ?
Alors est-ce que je suis un boulet, est-ce que je devrais vous recopier l'intégralité de mon php.ini ici, ou est-ce qu'il y a effectivement une subtilité d'incompatibilité ?
Merci !