Zadejte hledaný výraz...

Hosting kapusta a podivné chování sessions

perry
verified
rating uzivatele
(2 hodnocení)
9. 2. 2009 13:26:37
Programuji něco, co poběží na hostingu kapusta. verze PHP na mém localhostu a na kapustě se shodují, nicméně mám problém. Využívám SESSIONS k uložení objektu (serialize / unserialize). Skript u mě funguje bezchybně, ovšem na kapustě se celý web sesype.
Pouze nástin toho, co dělám (pokud session neexistuje, načtu z DB jazykovou mutaci webu a uložím do session jako serializovaný objekt. Při dalším reloadu stránky již sesion existuje, takže se z ní objekt unserializuje a ušetřím zátěž DB)
if (!isset($_SESSION)){
$lokalizace = new Lokalizace($pripojeni);
$_SESSION = serialize($lokalizace);
}
else {
$lokalizace = unserialize($_SESSION);
}
Jenomže v $lokalizace poté, co projdu else větví, je nějaký "bordel", který údajně není objektem. Nechal jsem si vypisovat session a její obsah se podivným způsobem mění. Při prvním reloadu stránky je tam klasický serializovaný objekt, při druhém nějaké divné pole a při třetím je prázdná a nic. Přitom při každém reloadu opravdu procházím else větev. Ačkoliv nikde nic nepřiřazuji, session se mění.
Může mi někdo vysvětlit, co to je za "prasárnu" ?
9. 2. 2009 13:26:37
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230630
baz
verified
rating uzivatele
(2 hodnocení)
9. 2. 2009 14:20:56
Pokud ukladaji session do nejake databaze, muze k tomu dojit.
zkus escapovat uvozovky co jsou u serialize a mozna to pomuze.
9. 2. 2009 14:20:56
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230629
Smazaný účet khOAIphBJC
verified
rating uzivatele
9. 2. 2009 15:50:24
Proč nekontaktujete přímo technickou podporu ?
9. 2. 2009 15:50:24
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230628
perry
verified
rating uzivatele
(2 hodnocení)
9. 2. 2009 16:11:23
baz:
Který uvozovky... moc jsem nepochopil, co myslíš..
(addslashes jsem zkousel a nic)
Dali:
Proč to píšu sem ? a) myslel jsem, jestli nemám blbě něco já; b) aby si ostatní dávali pozor, jelikož takovéhle chování sessions je dost "nebezpečný". Osobně třeba používám serializace v e-shopu na nákupní košík, na přihlašování uživatelů apod.
9. 2. 2009 16:11:23
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230627
mjdj
verified
rating uzivatele
(6 hodnocení)
9. 2. 2009 16:11:35
Dobrý den, není třeba už mi to poslalo asi 15 lidí na ICQ :P kolega už to řeší rzaregistruje se sem a odpoví. mohu se zeptat o jaký web se jedná nebo na jakem serveru jede ?
9. 2. 2009 16:11:35
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230626
Dragon Jake
verified
rating uzivatele
9. 2. 2009 16:12:29
Já jsem podpora... můžete prosím uvést konkrétní verzi PHP, kterou u sebe používáte? Co si pamatuji, tak se serializecemi objektů (možná nejen objektů) byly problémy, když tak se porozhlédnu po bugách. Jinak na serverech máme opatchované PHP 5.2.6.
9. 2. 2009 16:12:29
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230625
mjdj
verified
rating uzivatele
(6 hodnocení)
9. 2. 2009 16:14:33
Napsal Dragon Jake;210233
Já jsem podpora... můžete prosím uvést konkrétní verzi PHP, kterou u sebe používáte? Co si pamatuji, tak se serializecemi objektů (možná nejen objektů) byly problémy, když tak se porozhlédnu po bugách. Jinak na serverech máme opatchované PHP 5.2.6.
na "květáku" je 5.2.8 ale tam jede tak 12 webů.
9. 2. 2009 16:14:33
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230624
perry
verified
rating uzivatele
(2 hodnocení)
9. 2. 2009 16:24:28
Doma mám 5.2.6, co jsem koukal na přes phpinfo na ten server, tak tam bylo také 5.2.6,
Server: mrkev
web: www.hardwallpapers.com
9. 2. 2009 16:24:28
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230623
Dragon Jake
verified
rating uzivatele
9. 2. 2009 16:31:27
Tak dle toho, co jsem zatím našel, by PHP mělo provádět serializaci a unserializaci dat v session proměnných automaticky, zkuste si pročíst http://www.usenet-forums.com/php-general/56040-serialize-object.html.
9. 2. 2009 16:31:27
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230622
Wosonj
verified
rating uzivatele
(7 hodnocení)
9. 2. 2009 18:27:59
Tohle sice nesouvisí, ale opravdu bude ukládání zrovna lokalizace do session rychlejší než prosté načtení jedním dotazem z databáze?
Před cca 2 roky jsem tohle trochu testoval a jako nejúčinnější a nakonec i nejjednodušší bylo z překladů v databázi generovat jednoduché PHP soubory s polem výsledků, které se pak přímo inkludují do zdrojáku.
9. 2. 2009 18:27:59
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230621
perry
verified
rating uzivatele
(2 hodnocení)
9. 2. 2009 20:16:07
Wosonj:
Jo, to je také řešení... rychlejší, ovšem ne tak dynamické jako třída (např. potřeby něco měnit za běhu apod.)
9. 2. 2009 20:16:07
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230620
hm
verified
rating uzivatele
(20 hodnocení)
9. 2. 2009 22:35:03
ja preklady cachuju do pameti pres APC :) sessions jsou casto souborove a tak nejsou zrovna idealni pro ukladani dat (proste pak delaji zatez na disku), zatimco apc je cache ukladana primo do pameti RAM a tak je vlatsne nacteni dat tak rychle jak jen byt muze (proste to uz rychlejc nejde nez nechat ulozene v pameti, alepson o nicem rychlejsim nevim)...
Jinak serializovta data do sessions je pekna hovadina, protoze PHP ty data serializuje automaticky kdyz je priradis do promenne a unserializuje kdyz je z te promenne ctes... takze ty vlastne delas dvojity serialize/unserialize (jednou to udela phpcko a jendou ty...)
9. 2. 2009 22:35:03
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230619
perry
verified
rating uzivatele
(2 hodnocení)
10. 2. 2009 08:37:17
AlesiBoss:
Tak pravděpodobně záleží na nastavení serveru. Já když přidám data do proměnné, tak se mi automaticky neserializují a píše to chybu.
Btw. jak to děláš s tím APC ? To zní jako skvělý nápad :)
10. 2. 2009 08:37:17
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230618
hm
verified
rating uzivatele
(20 hodnocení)
10. 2. 2009 13:56:57
Napsal perry;210822
AlesiBoss:
Tak pravděpodobně záleží na nastavení serveru. Já když přidám data do proměnné, tak se mi automaticky neserializují a píše to chybu.
Btw. jak to děláš s tím APC ? To zní jako skvělý nápad :)
precti si neco o APC :) treba klidne primo v manualu: http://cz.php.net/manual/en/book.apc.php je to jednoduche, proste fci apc_store() data ulozis (tady uz se serializovat musi) a fci apc_fetch() je zase ziskas zpatky :) apc_fetch pokud data v cache nejsou vraci false - takze jde jednoduse rozeznat zda je nebo neni ta promenna ulozena v cache a podle toho ji budto vygenerovat nebo pouzit uz vygenerovanou z cache - ale pozor, data jsou pro vsechny relace php absolutne schodne, takze pokud chces napriklad neco ulozit ciste pro nejakeho uzivatele, musis promennou v cache pojmenovat treba ve stylu 'id_uzivatele-promenna'... proto se to hodi spis na cachovani dat ktere jsou vsude stejne (jako treba ty preklady, nebo nejaky kus vygenerovaneho html, ktery hodne zere server apod...)
taky je potreba to mit nainstalovane na serveru, v PHP 6 se pry planuje ze bude APC automaticky k dispozici (bude nativne v php), ted je potreba to mit nainstalovane jako rozsireni, ktere neni vsude standartne....
10. 2. 2009 13:56:57
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230617
Dragon Jake
verified
rating uzivatele
11. 2. 2009 01:34:28
APC na serverech nemáme, kdyby byl větší zájem, tak samozřejmě doinstalujeme. Zkusil jste vyhodit ze skriptu ty serializační funkce? Podle mě to dvojité unserialize() má za následek podivného obsahu v session proměnné.
11. 2. 2009 01:34:28
https://webtrh.cz/diskuse/hosting-kapusta-a-podivne-chovani-sessions/#reply230616
Pro odpověď se přihlašte.
Přihlásit