session_start () tworzy nową sesję przy każdym odświeżeniu [duplikat]
To pytanie ma już tutaj odpowiedź:
Jak naprawić błąd „Wysłano już nagłówki” w PHP 11 odpowiedziMam problem zsession_start()
. Tworzy nową sesję przy każdym odświeżeniu / załadowaniu strony.
oto kod:
<?php
$bob = session_id();
echo "Session ID on load is ".$bob;
echo "<br>";
if($bob==""){
session_start();
$bob = session_id();
echo ' session ID currently is '.$bob;
}
// a bunch more stuff
kiedy ładuję stronę, otrzymuję następujące informacje:
Identyfikator sesji przy ładowaniu to obecnie identyfikator sesji ed320bc5e24c871c9db8ea30e6796c14 (lub wariant)
jeśli odświeżę stronę, otrzymuję:
Identyfikator sesji przy ładowaniu to obecnie identyfikator sesji fbd69d01d511a7be382799dca7279a86 (lub wariant)
identyfikator sesji jest zawsze pusty wcześniejsession_start()
jest nazywany i zawsze jest nowysession_id()
Robi to we wszystkich przeglądarkach i sprawdziłem, czy pliki cookie są włączone.
ścieżka zapisywania sesji jest podana jako/tmp
. Nie wiem dokładnie, gdzie to jest, ale patrząc przez mój katalog główny i wszystkie inne katalogi, nie mogę znaleźć pliku sesji (zakładając, że będzie wyglądał jak sess_fbd69d01d511a7be382799dca7279a86).
Tak więc myślę, że coś się dzieje ze ścieżką zapisywania, ale jestem na to zbyt nowy, aby wiedzieć na pewno, a administratorzy serwera są dość nieprzydatni. Jakie powinny być moje kolejne kroki w diagnozowaniu problemu? Serwer działa 5.3.22.
phpinfo jesttutaj
Dzięki za pomoc.
ps możesz odwiedzić pcm.pcmxa.com, aby zobaczyć problem dla siebie, jeśli chcesz.