![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mam taki kod:
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
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
Jednak do sesji już się nic nie zapisze. Jedyne rozwiązanie jakie mi przychodzi do głowy to ponownie wystartować sesję
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? |
|
|
![]() |
![]()
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 |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 36 557 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) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Też walczyłem kiedyś z tym problemem. Rozwiązanie to własna implementacja mechanizmu sesji. Rozwiązanie z session_start() jest jak najbardziej poprawne. Cytat session_start() creates a session or resumes the current one ... Czyli: Cytat session_start() tworzy nową sesję albo wznawia istniejącą ...
Ten post edytował rocktech.pl 7.05.2013, 09:27:39 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:37 |