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
Michael2318
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


@nospor, czemu takie rozwiązanie Ci nie odpowiada? Spójrz w manual: http://www.php.net/manual/pl/function.session-start.php:
Cytat
session_start() tworzy sesję lub wznawia bieżącą (...)

Po drugie, spójrz tam na przykład: http://www.php.net/manual/pl/function.sess...tart.php#110649
tam też jest zastosowane session_start() dwa razy (IMG:style_emoticons/default/wink.gif)

Ten post edytował Michael2318 7.05.2013, 08:08:22
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: 15.10.2025 - 16:03