IIS 8.5 správné nastavení session pro PHP a Nette
- serten
- Člen | 55
Zdravím,
právě nasazuji na nově zřízený Windows server jeden web a tak trochu
zápasím se správným nastavením session pro PHP, aby mi vše fungovalo jak
má.
Na serveru mi běží dvě verze PHP, konkrétně 5.4.9 a
5.6.2. V nastavení obou verzí PHP jsem nastavil
session.save_path = „C:\inetpub\temp\sessions“. Takže obě
verze mají společný adresář pro ukládání session. Zkoušel jsem si
zkontrolovat nastavení a kompatibilitu pomocí Checkeru a vše bylo zelené a
v pořádku (až na MEMCACHE nastavení, ale to v tuto chvíli
nepotřebuju).
Při tomto nastavení ale nastává problém, protože ať už když jsem
zkoušel Sandbox pro Nette verze 2.4 na PHP 5.6.2 a nebo nasazovaný web na
PHP verze 5.4.9, tak v obou případech se různě objevují chybové hlášky
se spuštěním nebo čištěním session.
Jenou z posledních je tato:
Warning: session_regenerate_id(): Session object destruction failed
A často se chyby se session_regenerate_id() opakují. Nakonec ale po nějakém základním rozběhání starého webu jsem došel k největšímu problému se session a to k problému s přihlášením. Jednoduše při pokusu o přihlášení mě to rovnou přesměruje zpět na přihlašovací stránku bez jakékoliv chybové hlášky nebo upozornění. Z toho si vyvozuji, že se jednoduše nepovedlo vytvořit session pro přihlášeného uživatele a pak se těžko může něco kontrolovat.
Bonusovou chybou navíc při pokusu o ladění je chybová hláška při dumpování:
Nette\InvalidStateException: Cannot regenerate session ID after HTTP headers have been sent.
Vše se to točí kolem Session a dělá mi to problémy.
Jen abych na konec doplnil, pro adresář C:\inetpub\temp\sessions jsou
nastavená práva pro čtení, zápis, spoštění a změny. Tato práva jsem
přiřadil uživatelským skupinám IUSR, Users a IIS_IUSRS.
Budu vděčný za jakoukoliv radu a pomoc. Díky
EDIT:
Tak jsem zkoumal a testoval a zjistil jsem, že při pokusu o přihlášení se po přesměrování stránky neuloží data v Session. Před samotným přesměrováním je vše v pořádku a data tam jsou. Jakmile se ale provede přihlášení, tak session je prázdná a není v něm žádná zmínka o identitě.
Editoval serten (3. 7. 2016 1:04)
- ali
- Člen | 342
Ohledne session_regenerate_id, tak stejny problem mame taky
na serveru, ktery se mi jeste nepodarilo vyresit
https://forum.nette.org/…ction-failed