jj mám ho všude, pracuji s ním přímo v headu, který mám přes require stejný na všech stránkách, ostatně i při procházení skrz web mi to vygenerované session ukládá s každou stránkou do dohodnutého adresáře, ale nepředává si je.
Příspěvky odeslané z IP adresy 89.177.240.–
ok, povedlo se mi přesměrovat ukládání session, dokonce je na ftp přímo vidím, ale problém se nevyřešil. S každým obnovením stránky nebo přechodem na jinou podstránku se vygeneruje nové session_id a uloží. Ovšem nepředá dál.
Mohu to nějak ovlivnit pomocí header?
Už mě nic dalšího nenapadá, zvlášť, když na jiném hostingu to v pohodě funguje.
nechal jsem si vypsat phpinfo pro daný server a porovnal to s jiným hostingem na kterém mi stejný script funguje. Našel jsem v podstatě jediný rozdíl.
na fungujícím hostingu:
session.save_path: /www/web.cz-tmpdir (jako Local value), /var/lib/php/session (jako Master value)
na nefungujícím:
session.save_path: /var/lib/php5 (jako Local value), /var/lib/php5 (jako Master value)
Je mi jasné, že každý server to má jinak, jen mě to zaujalo. Ovšem na localhostu používám taky stejnou lokalizaci, takže nic výjimečného.
Cookies pro stránku povolené mám.
Chtěl jsem se session v url vyhnout, protože web už je dávno v provozu a já do něj potřebuju pouze doplnit tuhle session řešící přepínání jazyků.
teď jsem si udělal zajímavý experiment se session_id. Vlastně funkce je stejná, ale jasně vidět co se děje. Zatímco na localhostu mi zůstává session_id stále stejná při procházení webem, tak na hosting se mi s každou podstránkou generuje session_id nové, takže se vůbec neukládá...
Sessionid není, jediné session je poslední řádek výpisu, což vnímám v pořádku, protože pokud proměnná lang není definována tak se nastaví jako cr :
[HTTP_SESSION_VARS] => Array ( [lang] => cr ) [_SESSION] => Array ( [lang] => cr ) [lang] => cr [l] =>
Když však session lang nastavím na indexu na "en" místo "cr", tak se mi na další stránky nepřenese.
Na localhostu vypadá poslední řádek výpisu takto:
[_SESSION] => Array ( [lang] => en ) [lang] => en [l] => en
takže tam vše šlape ok.
Ještě dodám, že hosting jede na Linuxu s Apache.
Ahoj,
potřebuji poradit. Mám jednoduché ukládání do session:
session_start();
if (isset($_SESSION['lang'])) {
echo $_SESSION["lang"];
}else{
$_SESSION["lang"]='cr';
}
Na session se pak dotazuji napříč celým webem, což mi na localhostu v pohodě funguje, ale na webu ne.
Zkoušel jsem na webu session vytvořit a hned zobrazit a to funguje. Ovšem stačí překliknout na jinou stránku v rámci webu a session se na webu nepředá.
Díky moc za pomoc