Autor | Zpráva | ||
---|---|---|---|
Stepanka Profil * |
#1 · Zasláno: 26. 1. 2009, 12:32:30
Ahoj,
můžou být na serveru vypnuté session? Dělám stránky pro jednu univerzitu, technici teď na serveru něco měnili a všude, kde je v kódu část if (isset($_SESSION['nejaka'])) { ... } Zkopíruju kousek phpinfo(), třeba z toho něco poznáte: session Session Support enabled Registered save handlers files user Registered serializer handlers php php_binary wddx Directive Local Value Master Value session.auto_start Off Off session.bug_compat_42 Off Off session.bug_compat_warn On On session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_divisor 1000 1000 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.hash_bits_per_character 5 5 session.hash_function 0 0 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler files files session.save_path /var/lib/php/session /var/lib/php/session session.serialize_handler php php session.use_cookies On On session.use_only_cookies Off Off session.use_trans_sid 0 0 |
||
Majkl578 Profil |
#2 · Zasláno: 26. 1. 2009, 12:37:29
"Session Support enabled" -> zakazane tedy pravdepodobne nejsou, nezapomela jsi je zapnout - session_start() ?
|
||
Stepanka Profil * |
#3 · Zasláno: 26. 1. 2009, 12:39:04
Majkl578
Nezapomněla, ještě včera to šlapalo, takže session_start() tam mám už od začátku.. Ale díky. |
||
Stepanka Profil * |
#4 · Zasláno: 26. 1. 2009, 12:52:15
Vypnuli taky SMTP, protože najednu nefunguje odesílání mailů ... ale když jsou session zapnuté, tak bych se chtěla zeptat - Existuje ještě něco, co mohli vypnout a co by ovlivnilo (deaktivovalo) session?
|
||
bohyn Profil |
#5 · Zasláno: 26. 1. 2009, 12:55:14
Stepanka
Nastaveni vypada standartne. At technici zkontroluji zda ma apache zapisovaci prava v adresari "/var/lib/php/session" „tak tahle část se nikdy neprovede.. i když do dané session o pár řádků výš normálně nacpu hodnotu..“ Tohle nefunguje? <?php session_start(); $_SESSION['test'] = true; if(isset($_SESSION['test'])) echo "nastaveno"; else echo "nenastaveno"; ?> |
||
Stepanka Profil * |
#6 · Zasláno: 26. 1. 2009, 13:15:32
bohyn
Tak jsem narazila jednu "zázračnou" věc... Tvůj skript mi vypsal "nastaveno", ale zkusila jsem toto: skript pokus.php: <?php session_start(); ob_start(); $_SESSION['test'] = 8; if(isset($_SESSION['test'])) { echo "nastaveno"; header("Location: pokus2.php"); } else { echo "nenastaveno"; } ?> skript pokus2.php: <?php session_start(); if(isset($_SESSION['test'])) echo "nastaveno2"; else echo "nenastaveno2"; ?> Když spustím skript pokus.php, provede se přesměrování a vypíše se "nenastaveno2"... Ale proč? Neměla by po přesměrování zůstat sesion zachována? |
||
bohyn Profil |
#7 · Zasláno: 26. 1. 2009, 13:26:54
Stepanka
Pokud nema Apache/PHP zapisovaci prava pro vyse uvedeny adresar, tak si nemuze danou session zapamatovat. Zaptej se spravce jestli jsou nastavena prava v poradku. |
||
Stepanka Profil * |
#8 · Zasláno: 26. 1. 2009, 13:34:46
bohyn
Jasně, díky moc, to se zeptám. Ale ono potom nevadí, že Tvůj skript mi vypsal "nastaveno"? To je normální, že když nemá ty zapisovací práva, tak si session zapamatuje jen do přesměrování? Kam si ji ukládá, než přesměruje? |
||
bohyn Profil |
#9 · Zasláno: 26. 1. 2009, 13:44:29 · Upravil/a: bohyn
Stepanka
Do presmerovani ma promenou v pameti, po ukonceni ji zapise (respektive pokusi se) do souboru na disku a uvolni pamet obsazenou danym scriptem (tedy zapomene tu promenou). Presmerovani je jiny HTTP dotaz, takze pri zavolani funkce start_session() si vezme session ID z cookie (kterou nastavil v prvnim dotazu) a pokusi se ji nacist z disku. Pokud ji na disku nenajde tak zalozi novou session. |
||
Stepanka Profil * |
#10 · Zasláno: 26. 1. 2009, 14:17:27
bohyn
Děkuju za info. |
||
Časová prodleva: 15 let
|
0