Problem session_start(); seit FF Update auf 2.0.0.8
Ulrich
- php
Moin,
ich stehe vor einen Problem, bei dem ich nicht mehr weiter weiss.
Bisher habe ich auf meiner Seite einige Zugriffe mit einem PHP Skript geschützt, was auch gut funktioniert hat.
Das Skript orientiert sich im Wesentlichen an diesem Artikel von Benjamin Wilfing.
Seit ich heute auf den FF 2.0.0.8 upgedatet habe, komme ich nicht mehr durch das Login.
Es wird folgende Fehlermeldung ausgegeben:
Warning: session_start() [function.session-start]: open(/tmp/sess_###########, O_RDWR) failed: Permission denied (13) in /html/foo/bar/auth.php on line 22
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /html/foo/bar/auth.php:22) in /html/foo/bar/auth.php on line 22
Warning: Cannot modify header information - headers already sent by (output started at /html/foo/bar/auth.php:22) in /html/foo/bar/auth.php on line 25
Warning: Unknown(): open(/tmp/sess_###########, O_RDWR) failed: Permission denied (13) 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 (/tmp) in Unknown on line 0
Daraus schloss ich, es müsste etwas mit der Serverkonfiguration (auf die ich keinen direkten Zugriff habe) zu tun haben, z.B. Schreibrechte des Verzeichnis /tmp.
Das Merkwürdige ist aber, dass ich mit dem IE6 oder Opera 9.20 ganz ohne Probleme einloggen kann, wie sonst auch.
Das wiederum kann ich mir nun nicht mehr erklären. Ist im FF 2.0.0.8 ein "Käfer" versteckt, der Sessions verhindert? Falls jemand weiss, wie ich den FF umkonfigurieren kann, wäre ich sehr dankbar.
Das benutze Login kann man testen, wenn man auf meinem Gästebuch (unter Kontakt) ganz unten links den kleinen Schlüssel anklickt. Direkt verlinken möchte ich nicht, das das GB nicht indiziert ist und daher auch sehr wenige Spamversuche auftreten. Daran möchte ich durch einen direkten Link auch ungerne etwas ändern.
mit freundlichen Grüßen
Ulrich
hallo,
Das benutze Login kann man testen, wenn man auf meinem Gästebuch (unter Kontakt) ganz unten links den kleinen Schlüssel anklickt.
Das geht mit FF 2.0.0.8 problemlos. Du solltest schauen, welche Cachegröße du eingestellt hast, vermutlich ist der Wert zu klein.
Grüße aus Berlin
Christoph S.
Moin,
danke Cristoph, das
Du solltest schauen, welche Cachegröße du eingestellt hast, vermutlich ist der Wert zu klein.
war's dann schon. Darauf wäre ich nicht gekommen, zumal ich nach dem Update den Cache nicht verkleinert habe und davor ging es problemlos.
Ich vermute der Server meldet dann den Fehler weil, der Browser im Cache nichts findet, was er dem Server zum speichern anbieten kann, oder so ähnlich?
auf jeden Fall vielen Dank für Deinen Hinweis. Danach hätte ich noch Wochen gesucht.
schönes Wochenende
Ulrich
Hello,
auf jeden Fall vielen Dank für Deinen Hinweis. Danach hätte ich noch Wochen gesucht.
Funktioniert es denn nun, oder immer noch nicht?
Lass mich hier nicht so lange zappeln ;-)
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hello Christoph,
Das geht mit FF 2.0.0.8 problemlos. Du solltest schauen, welche Cachegröße du eingestellt hast, vermutlich ist der Wert zu klein.
Kannst Du das näher erläutern, was die Chache-Größe des Browsers mit dem Öffnen/Erstellen der Session-Datei auf dem Server zu tun hat? Da kriege ich gerade die Kurve nicht.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
hallo Tom,
Kannst Du das näher erläutern, was die Chache-Größe des Browsers mit dem Öffnen/Erstellen der Session-Datei auf dem Server zu tun hat?
Nichts ;-)
Aber du mußt dir die Fehlermeldung genau anschauen:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
Da ich den Fehler bei mir nicht reproduzieren konnte, habe ich testweise die Cachegröße verkleinert - und prompt hatte ich die Fehlermeldung auch.
Grüße aus Berlin
Christoph S.
Hello,
Kannst Du das näher erläutern, was die Chache-Größe des Browsers mit dem Öffnen/Erstellen der Session-Datei auf dem Server zu tun hat?
Nichts ;-)
Aber du mußt dir die Fehlermeldung genau anschauen:Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
Da hast DU aber jetzt wieder die hälfte überlesen.
Die Meldung beginnt mit:
Warning: session_start() [function.session-start]: open(/tmp/sess_###########, O_RDWR) failed: Permission denied (13) in /html/foo/bar/auth.php on line 22
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /html/foo/bar/auth.php:22) in /html/foo/bar/auth.php on line 22
Durch die erste Zeile (O_RDWR failed) hat PHP die Ausgabe an den Browser begonnen.
Das führt dann zur zweitern Zeile (headers already sent)
Die zweite Meldung ist also nur ein Folgefehler der ersten.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hello,
Seit ich heute auf den FF 2.0.0.8 upgedatet habe, komme ich nicht mehr durch das Login.
Es wird folgende Fehlermeldung ausgegeben:Warning: session_start() [function.session-start]: open(/tmp/sess_###########, O_RDWR) failed: Permission denied (13) in /html/foo/bar/auth.php on line 22
Das hat mit dem Client nichts zu tun.
Lies mal, was da steht:
Die Funktion session_start() hat Probleme, im Verzeichnis /tmp/ eine Datei im Modus Schreiben/Lesen zu öffnen.
Das bedeuet, dass entweder das Verzeichnis /tmp/ gar nicht existiert, weil Du mit dem Apachen z.B. auf einer WinDOSe arbeitest, oder aber dass der User des Webservers keine ausreichenden rechte hat.
Du solltest die Sessions ohnehin verlegen in ein eigenes Verzeichnis pro Virtual Host. Das macht man mit den Einstellungen pro Host für PHP php_admin_value session.save_path /tmp/session_host/
und dann das Verzeichnis für PHP rwx setzen.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Moin,
erstmal danke für Deine Antwort.
Das hat mit dem Client nichts zu tun.
Lies mal, was da steht:
Die Funktion session_start() hat Probleme, im Verzeichnis /tmp/ eine Datei im Modus Schreiben/Lesen zu öffnen.
Das bedeuet, dass entweder das Verzeichnis /tmp/ gar nicht existiert, weil Du mit dem Apachen z.B. auf einer WinDOSe arbeitest, oder aber dass der User des Webservers keine ausreichenden rechte hat.
Das habe ich auch erst gedacht, nur erkärt das für mein Verständnis nicht, wieso das bei unterschiedlichen Client FF<->O,IE anders aussieht? Wenn's mit dem Client _nichts_ zu tun hat.
Du solltest die Sessions ohnehin verlegen in ein eigenes Verzeichnis pro Virtual Host. Das macht man mit den Einstellungen pro Host für PHP php_admin_value session.save_path /tmp/session_host/
und dann das Verzeichnis für PHP rwx setzen.
Ja, möglicherweise sollte ich das. Nur habe ich auf diese Einstellungen immer noch keinen Zugriff.
mit freundlichen Grüßen
Ulrich
Hello,
Das habe ich auch erst gedacht, nur erkärt das für mein Verständnis nicht, wieso das bei unterschiedlichen Client FF<->O,IE anders aussieht? Wenn's mit dem Client _nichts_ zu tun hat.
Das kann ich Dir auch nicht erklären.
Jedenfalls betrifft die von Dir zitierte Fehlermeldung NICHT den Client, sondern die Zugriffsrechte aufs Sessionverzeichnis auf dem Server.
Du kannst uns ja mal einen Link geben auf das Login und ein Gastpasswort.
Dann kann man nochmal probieren...
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Moin Tom,
Das kann ich Dir auch nicht erklären.
Christoph konnte ;) aber vielen DAnk für Deine Mühe. Ich denke der Fehler reusultiert daraus, das der Server versucht daten zu speichern, die der Browser aber wegen zu kleinem Cache nicht vorhält. Anders wäre es mir auch nicht logisch. Aber vielleicht erganzt Christoph das noch.
Jedenfalls war ich davon genauso überrascht wie Du.
schönen Sonntag
Ulrich
Hello,
Ich denke der Fehler reusultiert daraus, das der Server versucht daten zu speichern, die der Browser aber wegen zu kleinem Cache nicht vorhält.
Ich kann da nicht folgen. Die zitierte Fehlermeldung kam ja ausdrücklich vom Server.
Entweder, PHP hat da mal wieder eine Lücke, die Firefox aufgrund eines eigenen Fehlers entdeckt hat, oder aber ... ?
Genau das ist die Frage!
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom