2009-03-22 5 views
7

J'essaie de démarrer la session dans une page d'en-tête de mon site Web. Mais il semble qu'il pourrait y avoir une sorte de bug car il échoue avec l'erreur suivante:PHP session_start échoue

Warning: session_start() [function.session-start]: open(\xampp\tmp\sess_a7430aab4dd08d5fc0d511f781f41fe5, O_RDWR) failed: No such file or directory (2) in D:\Development\PHP\tt\Include\header.php on line 3 

J'utilise les paramètres par défaut pour xampp, tout est tout droit sorti de la boîte. Pour une raison quelconque, son échec à ouvrir le fichier. Cependant, quand je vais dans le répertoire avec les fichiers de session, les fichiers sont là, ils sont juste vides. Est-ce un bug? ou est-ce que je fais quelque chose de mal?

version php 5.2.8

+0

Pouvez-vous poster le code? – Shoban

+1

@SHOBAN Je ne pense pas qu'il y ait quelque chose qui puisse être fait en appelant session_start() qui peut causer cette erreur, il n'y a pas besoin de voir le code. – UnkwnTech

Répondre

11

Cela signifie que vous ne disposez pas des autorisations nécessaires pour lire ou écrire les fichiers dans le répertoire temporaire.

Si vous sur linux faites ceci

sudo chmod -R 755 \xampp\tmp //or should it be 775 

Sur les fenêtres font cela comme un administrateur

attrib -r -a C:\xampp\tmp /S 
+1

Il me donnait un fichier introuvable erreur, donc j'ai ajouté/D à la fin et il a traversé. Malheureusement, cela n'a pas résolu le problème. –

+1

Si je clique avec le bouton droit de la souris sur le dossier et que j'accède aux propriétés, la lecture seule est cochée. Mais si je le décoche, appuyez sur Appliquer, puis cliquez avec le bouton droit de la souris et revenir aux propriétés, il est à nouveau vérifié. –

+0

Que vous n'avez probablement pas les privilèges appropriés pour changer les permissions. – UnkwnTech

11

d'abord arrêter le serveur Xampp.

session.save_path = "\ xampp \ tmp"

et changer pour ressembler à ceci

session.save_path = "C: \ xampp \ tmp"

Redémarrez le serveur Xampp.

Voilà maintenant votre session devrait fonctionner comme prévu.

+0

Problème est le répertoire doit exister. – quantum

+0

Cette question a déjà une réponse acceptée. À moins que votre réponse ne contienne des informations pertinentes ou ne corrige une erreur dans les réponses actuelles, vous ne devez pas poster de réponse. –

+1

@MadaraUchiha Il y a un commentaire à la réponse acceptée qui déclare qu'il n'a pas résolu le problème. Donc, l'ajout d'une réponse efficace ne devrait pas être une erreur. – Tarnschaf