Autor | Zpráva | ||
---|---|---|---|
quatzael Profil |
#1 · Zasláno: 24. 7. 2014, 13:52:39 · Upravil/a: quatzael
Nějak mi na serveru zkrátili trvání SESSION. Když jsem psal na support, kde si to můžu nastavit, tak mi odepsali, abych si to nastavil přímo ve scriptu. Ale já vůbec nevím jak. To musím někam vložit do všech scriptů? A úplně na začátek po
session_start nebo můžu kamkoli? Nejde to někde nastavit jedním skriptem?Ještě trochu jinak. Nemůže mít zkrácení trvání session na svědomí prohlížeč? Jak se zdá tak mi to i zruší všechny javascritový sessiony (sessionStorage).. |
||
quatzael Profil |
#2 · Zasláno: 24. 7. 2014, 14:55:35
No dělá mi to jak v IE tak i ve Chromu, takže to prohlížečem asi nebude..
|
||
adacio Profil |
#3 · Zasláno: 24. 7. 2014, 17:13:17 · Upravil/a: adacio
Pokud můžeš přepisovat hodnoty PHP ini v .htaccess souboru:
php_value session.gc_maxlifetime 3600 pokud ne tak na začátku php scriptu/ů: ini_set('session.gc_maxlifetime', 3600); hodnota je ve vteřinách, takže todle je pro jednu hodinu Ale podle: http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime V případě, že dva scripty ukládají session do stejneho adresáře, bude je čistit ten, který má nastavenou kratší dobu. Takže ideálně si ještě musíš změnit hodnotu: session.save_path. |
||
quatzael Profil |
#4 · Zasláno: 24. 7. 2014, 20:48:05
adacio:
Díky moc za odpověď. Přepisovat hodnoty PHP ini v .htaccess souboru bohužel nelze:o( „pokud ne tak na začátku php scriptu/ů:“ Na začátku znamená co, ještě před session_start() ?
„Takže ideálně si ještě musíš změnit hodnotu: session.save_path.“ No, tak tohle asi nebudu potřebovat. Ale pro jistotu.. Kam mám tohle vložit, taky na začátek před session_start() ?
A co tam mám napsat za cestu, to si můžu něco vymyslet? Jako např.: session.save_path(/tmp/) |
||
adacio Profil |
#5 · Zasláno: 25. 7. 2014, 11:33:48
Ano, na začátku myslím před,
session_start()
session.save_path musí být nastaveno na nějaký scriptem zapisovatelný adresář.
/tmp/ bývá výchozí hodnota, takže pokud to chceš změnit bude to chtít asi jinou cestu:
ini_set('session.save_path', '/tmp/my_sessions/'); |
||
quatzael Profil |
#6 · Zasláno: 25. 7. 2014, 11:35:20
Testuju v PHP skriptech to
ini_set('session.gc_maxlifetime', 86400); , ale nefunguje to. Pořád se to odhlašuje asi po 5 minutách.
|
||
Kubo2 Profil |
#7 · Zasláno: 26. 7. 2014, 13:23:24
quatzael:
Možno to bude krátkou expiračnou dobou pre cookie, do ktorého sa ukladá session identifikátor. Viď session.cookie_lifetime |
||
quatzael Profil |
#8 · Zasláno: 26. 7. 2014, 13:31:19
Kubo2:
No, ale to by se snad projevovalo jenom u jednoho prohlížeče, ne? Teď je to u všech stejný, za 5 minut konec. Ještě před několika dny to fungovalo úplně normálně.. |
||
jenikkozak Profil |
#9 · Zasláno: 26. 7. 2014, 14:11:06
Ne, to by se projevovalo u všech prohlížečů. Podívej se, jakou platnost má cookie, kterou session vytváří.
|
||
quatzael Profil |
#10 · Zasláno: 26. 7. 2014, 14:37:35
jenikkozak:
Jak to zjistím? |
||
quatzael Profil |
#11 · Zasláno: 26. 7. 2014, 21:28:13 · Upravil/a: quatzael
Tak jsem tam dal na začátek:
ini_set('session.cookie_lifetime', 0); a zdá se, že to teď funguje. Tak snad to už nebude dělat problémy.
Díky za pomoc. No tak teď se to zase po...lo a zničeho nic se sessions ztratily, i přesto že jsem s tím momentálně pracoval.. stačil refresh.. No tak to prostě už zase nefunguje.. Chvíli se zdálo, že to zabralo a teď je to zas úplně stejný. Furt se to odhlašuje.. |
||
jenikkozak Profil |
#12 · Zasláno: 27. 7. 2014, 17:15:41
Toto nastavení musíš použít vždy před vypsání všech stránek, jinak může být cookie smazána po vypršení výchozí omezené platnosti.
|
||
quatzael Profil |
#13 · Zasláno: 27. 7. 2014, 19:35:56
jenikkozak:
To jsem samozřejmě udělal. Všiml jsem si, že problém byl jen u Chrome a Mozilly. V IE to už normálně fungovalo, potom co jsem tam vložil to: ini_set('session.cookie_lifetime', 0);
Teď to ale už jede (zdá se) všude. Tak možná sem ty prohlížeče nerestartoval nebo já fakt nevím.. |
||
quatzael Profil |
#14 · Zasláno: 28. 7. 2014, 19:01:09
Tak já nevím, už to zase nefunguje.. IE se zdá být ok, ale Chrome a Mozilla ne.
|
||
Časová prodleva: 5 měsíců
|
|||
smid83 Profil * |
#15 · Zasláno: 28. 12. 2014, 17:04:41
Ahoj mam dotaz k tomu
ini_set('session.save_path', '/tmp/my_sessions/'); jsem v SESSION uplný začátečník
udělal jsem stranku s nazvem zkouska.php a vni mam <?php session_start(); $_SESSION[`a`] = 'halo'; ?> <a href="halo.php?<?php echo SID; ?>">další stránku</a>. session_start(); echo $_SESSION[`a`]; a naopak jak se z toho da pak číst zkusil jsem před session_start(); dátini_set('session.save_path', '/tmp/my_sessions/'); A vubec to nic nedělá jako kdyby to tam nebylo.Všude píšou že se to musí nějak nastavit jenže nikde nepíšou co, kde a jak?
|
||
Časová prodleva: 9 let
|
0