Po přihlášení dojde k okamžitému odhlášení bez důvodu v $user->getSignOutReason()
- Petr Mašát
- Člen | 101
Ahoj všichni,
mám menší problém s přesunem projektu na ostrý server. U mě doma na
vývojovém stroji funguje přihlašování/odhlašování perfektně, ale po
přesunu na server (hosting tojeono.cz) mi po vyplnění jména a hesla dojde
k zalogování, tj dostanu se z renderLogin()
na
renderDefault()
, ale tam hnedka na první řádce zjistí že
nejsem zalogován a tak mě to zvesela vrátí na logovací stránku. A když
si nechám vypsat důvod odhlášení přes:
$this->user->getSignOutReason();
tak se mi vrátí prázdno a ani v logách se nic podezřelého neobjeví.
Zdrojové kódy jsem zabalil a umístil na: http://data.aikidohostivar.cz/beta.zip
Netuší někdo prosím kde dělám chybku, strávit jeden již večer pročítáním všech místních příspěvků, ale žádný nevedl ke zdárnému vyřešení mého problému.
EDIT: hodnotu
$this->user->setExpiration('+ 30 minutes');
nastavenou mám. To bylo první co jsem si zkontroloval.
Děkuji moc,
Petr MAŠÁT
Editoval tachyon (15. 4. 2010 1:44)
- Petr Mašát
- Člen | 101
Sessions mám nastavené v bootsrap.php pomocí:
$session = Environment::getSession();
$session->setExpiration('+ 14 days');
$session->start();
- Petr Mašát
- Člen | 101
Tak už se začínám přibližovat k jádru problému. Všiml jsem si že i když mám v bootsrap.php nastavené session jako
$session = Environment::getSession();
$session->setExpiration('+ 14 days');
$session->setSavePath(dirname(__FILE__) . '/sessions/');
$session->start();
tak se mi v adresáři session nic nevytváří. Tak jsem zkusil udělat rychlý testík s Čítačem přístupu a ono to zůstává stále na hodnotě 1. → nezapisují se session i když mi firefox hlásí že nějaké pro tuto doménu má. Mno nic, jdu zkoumat dále.
- Petr Mašát
- Člen | 101
Tak už jsem asi objevil jádro problému. Sice nastavuji
$session->setSavePath(dirname(__FILE__) . '/sessions/');
ale v phpInfo();
jsem se dočetl že mám hodnotu
session.save_path nastavenou stále na
/home/www/aikidohostivar.cz/php_sessions, kde se skutečně vytváří
nové session.
Pln naděje jsem zkusil cvičně i nastavit v bootsrap.php
$session->setSavePath('/home/www/aikidohostivar.cz/php_sessions/');
chybu to nezařvalo → adresář to našlo, ale ani session se nezapsala : (
Takže nyní jen nevím zda tohle je chybka v kódu/nette a nebo to musím nějak donastavit. Netuší někdo prosím?
- Petr Mašát
- Člen | 101
To vypadá že je v pořádku: http://test.aikidohostivar.cz/checker.php?…
EDIT: teda až na ty dvě varování, ale ty by snad neměli ovlivnit sessions ne?
EDIT2: Aby to bylo komplet tak i výpis z phpInfo(); http://test.aikidohostivar.cz/index.php
Editoval tachyon (16. 4. 2010 23:58)
- Petr Mašát
- Člen | 101
Ahoj všichni,
nechápu – začalo to zničeho nic fungovat. Nic jsem tam nazměnil, jen jsem si všiml že někdo promazal adresář /home/www/aikidohostivar.cz/php_sessions.
Sice mi stále nejde nastavit ukládání sessions někam jinam nežli je asi na tomto (tojeono.cz) hostingu defaultně nastavené, ale hlavní je že to již funguje.
Nemáte náhodou někdo také u tojeono.cz hosting? Přpadně jak máte
prosím Vás nastavené $session->setSavePath()
? A nebo to
necháváte na případném nastavení hostingu?
Jinak díky moc za pomoc,
Petr MAŠÁT
- Mikulas Dite
- Člen | 756
V htaccessu by některé proměnné php měli být editovatelné, je to
něco jako php_value param value
. A některé servery můžou mít
php4_value
, resp. php5_value
. Takže session path si
můžeš nastavit (pravděpodobně) jako
php_value session_save_path foo/bar/
. Jestli to nepůjde, můžeš
zkusit laborovat s session_save_path
→
session.save_path
atp.
- Petr Mašát
- Člen | 101
Ola: Volal jsem to hnedka po
require LIBS_DIR . '/Nette/loader.php';
Environment::loadConfig();
zkusil jsem to přesunout za $application->run()
, bohužel to
nepomohlo.
Mikulas Dite: Zatím bohužel bez kladného výsledku, ale zkusím s tím ještě dneska zaloborovat.
Není možné by měl prostě hosting tojeono.cz zakázáno změnu cety kam se ukládají sessions?
- rokerkony
- Člen | 122
jen pro úplnost, mám hosting u tojeono.cz také a dočkal jsem se takové odpovědi:
v prostredi sdileneho webhostingu neni mozne menit ulozeni session souboru z duvodu bezpecnosti – tato cesta je nastavena pevne v konfiguracnim souboru.
ale výše uvedený problém nemám, session mi fungují i z cesty nastavené v konf. souboru (zkoumal jsem to jen ze zvědavosti)…
- Petr Mašát
- Člen | 101
Tak to by odpovídalo proč mi to nešlo nastavit : )
Díky moc za doplnění informací. Od té doby co se to rozběhlo už s tím
nenmám nejmenší problém.