session funktioniert nicht
Roland
- php
Hi!
Was hat denn folgende Fehlermeldung zu bedeuten bzw. was passt nicht?
Warning: session_start() [function.session-start]: open(/home/www//tmp/sess_0e2b2fe2327bd5b77b075a4ceb690362, O_RDWR) failed: No such file or directory (2) in /home/www/[domainname]/htdocs/[dir]/config.php on line 42
In der Zeile 42 steht nur:
session_start();
Dies ist auch das erste mal das auf eine session zugegriffen wird.
lg
Roland
Hello,
Was hat denn folgende Fehlermeldung zu bedeuten bzw. was passt nicht?
Warning: session_start() [function.session-start]: open(/home/www//tmp/sess_0e2b2fe2327bd5b77b075a4ceb690362, O_RDWR) failed: No such file or directory (2) in /home/www/[domainname]/htdocs/[dir]/config.php on line 42
Das hat zu bedeuten, dass in der Serverkonfiguration/PHP-Konfiguration vergessen wurde, dem PHP-Prozess Lese- UND Schreibrechte auf das "session.save_dir" zu geben.
In einer Multihost-Umgebung sollte das Userverzeichnis z.B. folgenden Aufbau haben:
/www/user1/htdocs DocumentRoot des HTTP-Servers
/data Datenverzeichnis des Users
/sessions Session-Verzeichnis für den HTTP-Server/PHP-Prozess
/tmp Upload und Temporär-Verzeichnis des HTTP-Server/PHP-Prozess
/log Logbuch-Verzeichnis für alle Dienste, die der User nutzen darf
damit der User seine Daten außerhalb der DocumentRoot des Webservers speichern kann.
Gleiches sollte für die Sessions gelten. An die sollte er mit seinen Scripten schon heankommen, aber auch nur er, und kein anderer User...
Dein PHP-Prozess durfte nun in besagtem Session-Verzeichnis, wo auch immer das liegen mag bei Dir, nicht schreiben, und konnte daher keine Session-Datei anlegen und daher auch die Session nicht starten.
Ein harzliches Glückauf
Tom vom Berg
hi,
Warning: session_start() [function.session-start]: open(/home/www//tmp/sess_0e2b2fe2327bd5b77b075a4ceb690362, O_RDWR) failed: No such file or directory (2) in /home/www/[domainname]/htdocs/[dir]/config.php on line 42
Dein PHP-Prozess durfte nun in besagtem Session-Verzeichnis, wo auch immer das liegen mag bei Dir, nicht schreiben, und konnte daher keine Session-Datei anlegen und daher auch die Session nicht starten.
Nur aus neugier, muss session_start nicht ganz oben in der Datei stehen, damit es funktioniert?
grüße
echo $begrüßung;
Nur aus neugier, muss session_start nicht ganz oben in der Datei stehen, damit es funktioniert?
Nein, muss nicht. Ganz oben muss <?php stehen. Danach kann beliebiger Code kommen, der keinerlei Ausgabe erzeugt, damit ein irgendwann auftauchendes session_start() oder auch andere Header-modifizierende Funktionen erfolgreich ausgeführt werden können.
echo "$verabschiedung $name";
nö, es darf davor nur keine Ausgabe stattfinden (damit der header noch gesendet werden kann).
lg
Roland
Hello,
Nur aus neugier, muss session_start nicht ganz oben in der Datei stehen, damit es funktioniert?
Nein, es kann fast stehen, wo es Dir gefällt. Es darf nur der Datentranfer zum Client nicht eher begonnen werden, als alle Header (und session_start() möchte auch welche setzen) eingesammelt sind.
Mit dem ersten Datenbyte sendet PHP auch die gesammelten Header _vorher_ ab und dann wäre es zu spät, noch welche hinzuzufügen, weil sie beim Client ja dann nicht mehr als Header sondern im Body ankämen.
Ein harzliches Glückauf
Tom vom Berg
Was genau muss ich da also umstellen?
Danke
Roland
danke, habs dem Admin gesagt und funktioniert jetzt :)
lg
Roland
Mahlzeit,
Was hat denn folgende Fehlermeldung zu bedeuten bzw. was passt nicht?
Warning: session_start() [function.session-start]: open(/home/www//tmp/sess_0e2b2fe2327bd5b77b075a4ceb690362, O_RDWR) failed:
Meinst Du nicht, dass der Pfad "/home/www//tmp/sess_0e2b2fe2327bd5b77b075a4ceb690362" etwas merkwürdig aussieht?
MfG,
EKKi