Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> blokująca sesja
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Mam taki kod:
  1. //tutaj coś robie
  2.  
  3. //a teraz będą długie obliczenia, które będą trwały powiedzmy 30 sekund
  4. sleep(30);
  5. }

No i jest pewien problem - taki skrypt zablokuje mi sesje na 30 sekund, a co za tym idzie inne rządania z tej sesji będą również blokowane.

By uniknąć tego problemu, wystarczy dodać session_write_close
  1. //tutaj coś robie
  2.  
  3. //a teraz będą długie obliczenia, które będą trwały powiedzmy 30 sekund
  4. sleep(30);
  5. }

I już sesja mi nie będzie blokowana. No ale pojawia się kolejny problem, gdyż po tych 30 sekundach chciałbym znowu coś dopisać do sesji
  1. //tutaj coś robie
  2.  
  3. //a teraz będą długie obliczenia, które będą trwały powiedzmy 30 sekund
  4. sleep(30);
  5.  
  6. $_SESSION['cos tam'] = 'to się do sesji nie zapisze';
  7. }

Jednak do sesji już się nic nie zapisze.

Jedyne rozwiązanie jakie mi przychodzi do głowy to ponownie wystartować sesję
  1. //tutaj coś robie
  2.  
  3. //a teraz będą długie obliczenia, które będą trwały powiedzmy 30 sekund
  4. sleep(30);
  5.  
  6. $_SESSION['cos tam'] = 'to się już zapisze';
  7. }

Ale bardzo to rozwiązanie mi się nie podoba. Czy jest jakieś inne czy może to ponowne startowanie sesji w tym samym skrypcie jest ok?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




To że wznawia bieżącą to ja wiem... jakby nie wznawiał to by przecież mechanizm sesji do niczego nie służył...
Jednak nigdzie nie piszą że można swobodnie używać kilka razy session_start w jednym żądaniu. A to że ktoś gdzieś w komentarzach napisał, że tak robi to w żaden sposób nie zmienia mojego zdania, że mi to się nie podoba. Jak pisałem sam widzę jedynie takie rozwiązanie, ale to mi się nie podoba (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 14:41