Probleme mit session.session_path
-
Hallo,
habe mir die neue foxserv-version runtergeladen und soweit funktioniert auch alles, bis auf sessions. Bekomme folgende Fehlermeldungen:Warning: open(/tmp\sess_e058beba6e420a3467186bb5aeefcda1, O_RDWR) failed: No such file or directory (2) in c:\foxserv\www\booking\user_menu\menu.php4 on line 2
Warning: open(/tmp\sess_e058beba6e420a3467186bb5aeefcda1, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
Ausschnitt aus der php.ini
[Session]
session.save_handler=files
session.save_path=C:/foxserv/sessiondata
session.use_cookies=1
session.name=PHPSESSID
session.auto_start=0
session.lifetime=0
session.cookie_path= /
session.c*ookie_domain=
session.serialize_handler=php
session.gc_probability=1
session.gc_maxlifetime=1440
session.referer_check=
session.entropy_length=0
session.entropy_file=
session.cache_limiter=nocache
session.cache_expire=180
session.use_trans_sid=1
url_rewriter.tags="a=href,area=href,frame=src,input=src,form=fakeentry"Hat jemand 'ne Idee was falsch laufen könnte. Das Verzeichnis sessiondata existiert und die Pfadangabe ist korrekt!
MfGTobsen
-
Versuch's mal mit C:\foxserv\sessiondata oder \foxserv\sessiondata - so steht es zumindest bei mir drin
-
bewirkt keine Veränderung
-
So wie ich es gerade sehe sieht es aus, als ob die Einstellungen aus einer anderen php.ini gelesen werden (vielleicht editierst du die im Windows-Verzeichnis und gelesen wird aus der im PHP-Verzeichnis bzw. umgekehrt)
Denn in der Fehlermeldung steht ja: /tmp, obwohl du was ganz anderes eingestellt hast.
Ansonsten kannst du auch im Script direkt mittels session_save_path() oder evtl. ini_set() den Pfad einstellen
-
ja, das explizite Angeben im Script kannte ich schon ist mir aber zu umständlich, das bei meinen ganzen Scripten einzubauen.... wie kann ich feststellen welche php.ini er benutzt. Hatte mich auch schon gefragt, warum er denn dauernd temp ausgibt, wo ich das doch nirgends stehen habe.... danke für den Lösungsansatz... werde mal nachschauen.
MfGTobsen
-
habe nur eine php.ini
-
Ich hatte auch mal nen php.ini Problem. Ich hatte nämlich keine
Mach mal ne .php Datei mit der Funktion:
<?php
phpinfo()
?>Dort stehen alle Variablen und Pfade.
-
@Tobsen: Was ist daran umständlich?
Ich binde z.B. einfach immer oben im Script z.B. eine session.inc.php ein, in der ich den ganzen Kram regle. Somit kannst du sowas durch ändern von Code in einer einzigen Datei regeln und auch wenn du z.B. mal die Session über ne DB verwanlten willst ist das kein Problem
-
@flenders: Ok, wenn man es immer am Anfang includiert, dann ist die Lösung noch akzeptabel obwohl du's dann jedesmal, wenn du die Scripte auf deinen Onlineserver packst, die Datei ändern darfst. Na ja, ich habe jetzt zumindest 'ne Lösung gefunden. Einfach ein Verzeichnis C:\tmp anlegen und schon hört des Gemotze auf
MfGTobsen
-
Wenn du einen relative Pfad angibst kannst du das auch für den Online-Server lassen - schadet ja nichts, wenn du ein extra Verzeichnis dafür hast (bzw. ist vielleicht sogar erwünscht)
-
Die Frage ist ja immer noch, ob der deine PHP.ini überhaupt benutzt. Dann kannst du etliche Einstellungen vornehme, das wird nix bewirken. Mit phpinfo() kannste genau sehen, wo PHP deine php.ini sucht, wie das session.path Verzeichnis heisst etc.