Die Lösung für das Problem, dass PHP den Sitzungswert nicht abrufen kann: Erstellen Sie zuerst einen Ordner mit dem Namen „session_temp“, setzen Sie dann seine Berechtigungen auf „beschreibbar“ und starten Sie schließlich Apache neu.
Empfohlen: "PHP-Video-Tutorial》
Ich habe heute einen Code geschrieben und die Sitzung getestet, aber festgestellt, dass der geschriebene Sitzungswert nicht abgerufen werden konnte. Nach einer Weile habe ich schließlich das Problem gefunden:
Meine Umgebung ist Windows7+Apache2.22+php5 .2.17Spezifischer Sitzungswertcode
page1.php <?php echo "what are you doing now?"; session_start(); $_SESSION['a'] = 'wangzhong'; $_SESSION['b'] = 'liyu'; ?> page2.php <?php echo "I am testing"; session_start(); echo $_SESSION['who'].'<br/>'; echo$_SESSION['hiswife'],'<br/>; ?>
Diese beiden Testsitzungen haben die Seiten gelesen und festgestellt, dass page2.php Seite1 nicht abrufen konnte. php Was ist der konkrete Grund für den gespeicherten Wert?
Ich habe die Sitzungskonfiguration in Apache überprüft. Die Details lauten wie folgt:
Session Support | enabled |
Registered save handlers | files user |
Registered serializer handlers | php php_binary wddx |
Directive | Local Value | Master Value |
---|---|---|
session.auto_start | Off | Off |
session.bug_compat_42 | Off | Off |
session.bug_compat_warn | On | On |
session.cache_expire | 180 | 180 |
session.cache_limiter | nocache | nocache |
session.cookie_domain | no value | no value |
session.cookie_httponly | Off | Off |
session.cookie_lifetime | 0 | 0 |
session.cookie_path | / | / |
session.cookie_secure | Off | Off |
session.entropy_file | no value | no value |
session.entropy_length | 0 | 0 |
session.gc_pisor | 1000 | 1000 |
session.gc_maxlifetime | 1440 | 1440 |
session.gc_probability | 1 | 1 |
session.hash_bits_per_character | 5 | 5 |
session.hash_function | 0 | 0 |
session.name | PHPSESSID | PHPSESSID |
session.referer_check | no value | no value |
session.save_handler | files | files |
session.save_path | D:/php/session_temp | D:/php/session_temp |
session.serialize_handler | php | php |
session.use_cookies | On | On |
session.use_only_cookies | Off | Off |
session.use_trans_sid | 0 | 0 |
Dann habe ich festgestellt, dass alle Sitzungen geöffnet sind und die Sitzung Ich habe den Speicherpfad überprüft und festgestellt, dass das Verzeichnis session_temp nicht im PHP-Verzeichnis gefunden wurde. Ich habe versucht, einen Ordner mit demselben Namen zu erstellen und ihn als beschreibbar festzulegen Diesmal wurde festgestellt, dass der Sitzungswert gelesen werden kann.
Dieses einfache kleine Problem muss wirklich sorgfältig untersucht werden. Ich finde, dass ich in letzter Zeit etwas ungestüm war.
Es gibt kein Problem, wenn htmldom vor der session_start()-Methode vorhanden ist, und es hat keinen Einfluss auf das Lesen des Sitzungswerts. Wenn vor der session_start()-Methode eine Echo-Ausgabeanweisung vorhanden ist, ist dies ebenfalls der Fall hat keinen Einfluss auf das Lesen des Sitzungswerts.
Das obige ist der detaillierte Inhalt vonBezüglich des Problems, dass PHP den Sitzungswert nicht erhalten kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!