Session in PHP4 unter Apache/WIN NT geht nicht
Marko
- php
Hallo Forum,
ich hab bei mir einen Apache auf Windows NT mit CGI PHP4-Modul laufen, bei Session-Start() und Session-Register()bekomme ich Fehler, während die Sache auf dem Server von meinem Provider funktioniert.
Muss ich PHP irgendwie anders installieren ? Liegt es vielleicht an Zugriffsrechten ? Funktionieren die Sessions unter NT überhaupt nicht ? Oder bin ich nur zu blöd ?
Danke für jede Hilfe.
Gruss
Marko
ich hab bei mir einen Apache auf Windows NT mit CGI PHP4-Modul laufen, bei Session-Start() und Session-Register()bekomme ich Fehler, während die Sache auf dem Server von meinem Provider funktioniert.
Du kannst vielleicht nichts mit der Fehlermeldung anfangen, wir aber schon, daher solltest du sie posten.
Vielleicht solltest du in Zukunft diese Liste im Kopf haben:
[_] Was du erreichen willst
[_] Wie du das erreichen willst
[_] Was du dafür bisher schon getan/versucht hast
[_] Was Dich im weiteren interessiert/was nicht funktioniert
[_] Was du für weitere Informationen, i.d.R. Fehlermeldungen hast
[_] Ggf. was du jetzt von uns wissen willst.
Hallo Björn,
vielen Dank für die Ratschläge ;-) Also dann mal los:
»» [_] Was du erreichen willst
Ich möchte die Sessionfunktionen der Programmiersprache PHP4 verwenden d.h. ich möchte eine Variable haben, die auch nach einem erneuten Aufruf der PHP Seite Ihren vorher zugewiesenen Wert enthält.
»» [_] Wie du das erreichen willst
Ich rufe die PHP Funktion: session_register () auf, um diese Variable als Sessionvariable zu registrieren
»» [_] Was du dafür bisher schon getan/versucht hast
Ich habe das untenstehende Programm aus einer Doku von ZEND kopiert und auf meiner lokalen Umgebung ausprobiert, sowie auf einem Linux Webserver meines Providers ausprobiert.
»» [_] Was Dich im weiteren interessiert/was nicht funktioniert
Es interssiert mich, warum es unter meinem lokalen Apache unter WIN NT nicht funktioniert, aber auf dem Webserver, andere PHP Programme funktionieren lokal.
»» [_] Was du für weitere Informationen, i.d.R. Fehlermeldungen hast
Ich habe die folgenden Fehlermeldungen.
Warning: open(/tmp/sess_c658b789418766fe02351bf23549ef6e, O_RDWR) failed: m (2) in h:\www\objects\sessiontest.php on line 2
Hello visitor, you have seen this page 1 times.
To continue, click here
Warning: open(/tmp/sess_c658b789418766fe02351bf23549ef6e, O_RDWR) failed: m (2) in Unknown on line 0
Warning: Failed to write session data. Please check that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
»» [_] Ggf. was du jetzt von uns wissen willst.
Ob es daran liegt, dass mein PHP als CGI läuft, ob es eine Möglichkeit gibt es unter WIN NT zum laufen zu bringen. Was im allgemeinen für ein Grund vorligen könnte warum es nicht läuft, und welche Möglichkeiten ich besitze es zum laufen zu bringen.
mit freundlichen Grüssen
Marko
Das Programm im folgenden:
<?php
session_register ("count"); <- Das geht nicht
$count++;
?>
Hello visitor, you have seen this page <? echo $count; ?> times.<p>
<php?
?>
To continue, <A HREF="nextpage.php?<?=SID?>">click here</A>
Hallo Leute,
nach längerem Suchen, hab ich die Lösung schon anderswo gefunden (war aber echt nicht ganz leicht, irgendwie scheinen doch noch nicht allzuviel Leute mit PHP4 zu arbeiten). Das Geheimniss liegt in der php.ini (War bei mir im Windows Veruzeichnis zu finden), es gibt dort einen Eintrag:
session.save_path = /tmp
Unter Windows wird nicht automatisch erkannt, das es /tmp nicht geben kann. Also muss statt /tmp ein gültiger Windows PFad angegeben werden, mit:
session.save_path = c:\tmp
hat es nach anlegen des Verzeichnisses c:\tmp funktioniert.
Gruss
Marko
»» [_] Was du für weitere Informationen, i.d.R. Fehlermeldungen hast
Ich habe die folgenden Fehlermeldungen.
Warning: open(/tmp/sess_c658b789418766fe02351bf23549ef6e, O_RDWR) failed: m (2) in h:\www\objects\sessiontest.php on line 2
Hello visitor, you have seen this page 1 times.To continue, click here
Warning: open(/tmp/sess_c658b789418766fe02351bf23549ef6e, O_RDWR) failed: m (2) in Unknown on line 0Warning: Failed to write session data. Please check that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
Da steht sogar im Klartext, was du tun musst. Auf dem PHP Laufwerk existiert kein /tmp Verzeichnis. Erstelle eines oder stelle in der php.ini das Verzeichnis auf ein existierendes.