![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 4.10.2002 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Mam taki jeden głupi problemik, który w sumie nie mam pojęcia skąd się bierze. Sytuacja wygląda następująco: mam postawionego Apacza i php 4.2.2 w wersji pod Windoze (98se w dodatku), wszystko ladnie smiga, dziala nawet i sie nie zwiesza. Wszystkie skrypciki nawet w polaczeniu z mysql'em działają całkiem spoczko. Ale problem zaczyna być przy sesjach. Poczytałem trochę z sieci, poczytałem manuala, poczytałem jakąś naukową książkę w temacie tym i coś tam napisałem. Wszystko ładnie i pięknie działa, ale problem pojawia się gdy zmieniłem session.gc_probability na 100 (domyślnie jest 1). Z pewnych względów ustawione mam session.auto_start, ale problem opisany poniżej występuje też gdy auto_start jest wyłączone. Chodzi o to, że w momencie gdy wchodzę przeglądarką na stronkę wykonuje następujący kod:
Kod session_register('imie');
session_register('nazwisko'); $imie = "Szymon"; $nazwisko = "Kowalski"; Jako, że autostart jest włączony (nawet i tak by nie musiał, bo session_register niejawnie rozpoczyna sesje), wszystko ładnie zapisuje się do pliku sesji. Potem przechodzę do następnego pliku i tam wykonuje następujący kod: Kod if (session_is_registered('imie')) print("Sesja okej<BR>");
printf("SES ID: ".session_id()."<BR>"); printf("IMIE: ".$_SESSION['imie']."<BR>"); Wszystko ładnie się wyświetla i działa. Ale tylko do momentu gdy wchodzę inną przeglądarką na stronkę. W tym momencie ta druga przeglądarka dostaje identyfikator sesji i tworzony jest plik sesji z innym identyfikatorem, ale przy okazji niszczony jest plik sesji, którą rozpoczęła pierwsza przeglądarka. I w tym momencie ta pierwsza gubi informację, które zawarte miała w pliku sesji, mimo, że nadal w ciachu (czy jak tam się ustawi) posiada identyfikator sesji swój, ale pliku sesji nie może odnaleźć, gdyż go fizycznie na dysku od strony serwera ni ma. W momencie gdy miałem session.gc_probability ustawione na 1, to plik sesji się uchowywał, ale zasadniczo z tego co wyczytałem takie niskie prawdopodobieństwo eliminowania zużytych plików sesji jest niezalecany. Czy ktoś jest w stanie wskazać chociażby gdzie szukać rozwiązania tegoż problemu? Najprawdopodobniej jest to winna w konfiguracji php, bo kod skryptu już bardziej prostacki być nie może chyba. A konfiguracje mam zasadniczo default'ową, prócz tego gc_probability i autostart'u - nic poza tym nie zmieniałem. -------------------- I get knocked down, but I get up again, you I'll never going to keep me down
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:17 |