Mailinglisten-Archive |
Hallo! Ich habe gestern endlich PHP Version 4.1.2 als CGI unter Windows98SE installiert. Als Server verwende ich Apache in der Version 1.3.20 (Win32). Nachdem ich alle notwendigen Einstellungen vorgenommen hatte (ich habe die php.ini-recommended übernommen und abgesehen von den Verzeichnis- und Fehleranzeige-Einstellungen nichts verändert), begann ich guter Dinge, meine bisherigen Skripte an die neue Version anzupassen (d.h. insbesondere globale Variablen und session_register() zu ersetzen durch $_SESSION). Und plötzlich erhielt ich nur noch Fehler - und zwar beim Speichern von Session-Daten. Um mich zu vergewissern, daß es sich nicht um einen Fehler bei der Session-Konfiguration handelt, habe ich register_globals auf ON gestellt und folgende beiden Skripte eingegeben: ses_reg1.php: <?php session_start(); $text="Hallo!" session_register("text"); echo '<a href="ses_reg2.php">ses_reg2.php</a>'; ?> ses_reg2.php: <?php session_start(); echo $text; ?> Die Ausgabe von register2.php ist erwartungsgemäß: Hallo! Nicht so, wenn ich register_globals wieder auf OFF stelle und das ganze mit der sog. superglobalen $_SESSION probiere: superglobal1.php: <?php session_start(); $_SESSION['text']="Hallo!"; echo '<a href="superglobal2.php">superglobal2.php</a>'; ?> superglobal2.php: <?php session_start(); echo $_SESSION['text']; ?> Nun erhalte ich beim Abrufen von superglobal2.php statt der freundlichen Begrüßung folgende Fehlermeldung: Warning: Undefined index: text in superglobal2.php on line 3 ($HTTP_SESSION_VARS['text'] anstatt $_SESSION['text'] führt übrigens zum gleichen Ergebnis.) Ein Blick in das Session-Verzeichnis (session.save_path=c:\tmp) bestätigt die lästige Anzeige: ses_reg1.php hat brav folgenden Inhalt in der Session-Datei abgespeichert: text|s:6:"Hallo!"; Während die von superglobal1.php angelegte Session-Datei nach wie vor leer ist. Ich habe 2 Stunden lang Manuals und FAQs und Handbücher gewälzt. Nun weiß ich nicht weiter - kann mir bitte jemand helfen? Grüße, Robert P.S.: Merwürdigerweise wird die Session-ID - ohne (für mich) ersichtlichen Grund - mal per Cookie übertragen, mal per URL - obwohl mein Browser Cookies annimmt ...
php::bar PHP Wiki - Listenarchive