Hoi!
Ik heb een webserver (Windows Server 2008 R2 met IIS 7.5) met PHP 5.2.13 op geïnstalleerd via de Web Platform Installer.
Alles werkt perfect op een detail na: sessies worden nooit opgeruimd. Een PHP-sessie wordt standaard fysiek bijgehouden in een sess_randomnumber-file in de %TEMP%-folder van je Windows-installatie. Volgens de PHP.ini zouden sessies na 1440 seconden opgeruimd moeten worden met een 1/1000 kans (de garbage collector settings).
Helaas: dat gebeurt niet. Het gevolg is dat ik na een paar weken met een onwerkbaar trage webapplicatie zat wegens 2,2 miljoen (!!) sessie-files. Geloof het of niet, maar Explorer en zelfs de console hebben hier een probleem mee (dir *.* > file.txt gaf een bestand van 144 MB terug, stel u voor).
Heeft iemand hier een oplossing voor, want behalve een del sess_* elke nacht te laten lopen heb ik niet meteen een oplossing...
PHP + IIS 7.5 = Sessies worden niet opgeruimd
- selder
- Moderator
- Berichten: 6305
- Lid geworden op: 29 jun 2005, 20:25
- Locatie: Tienen
- Uitgedeelde bedankjes: 99 keer
- Bedankt: 727 keer
Geen oplossing en totaal offtopic, maar ik heb me gewonnen gegeven, en de IIS7 op W2K8r2 buitengekegeld en een Centos met Apache geinstalleerd. Ik slaap nu veel beter 's nachts
Ghost S1 • 8086K @5.2Ghz • Asus ROG Ryuo 240mm • Asus ROG STRIX Z390-I • Corsair Vengeance LPX 2x16GB 3200Mhz • Asus RTX2080Ti Turbo • Samsung 970 EVO 2TB • Asus ROG Swift PG258Q 240Hz • Logitech G Pro keyboard/mouse/headset
-
- Elite Poster
- Berichten: 3310
- Lid geworden op: 26 jul 2005, 12:17
- Locatie: Lochristi
- Uitgedeelde bedankjes: 196 keer
- Bedankt: 125 keer
Een paar losse flodders :
- gc_maxlifetime wordt toch nergens overschreven?
- hoe zit het met de toegangsrechten op de temp folder?
- probeer eens een andere temp folder met maximale rechten?
- gc_maxlifetime wordt toch nergens overschreven?
- hoe zit het met de toegangsrechten op de temp folder?
- probeer eens een andere temp folder met maximale rechten?
- meon
- Administrator
- Berichten: 16609
- Lid geworden op: 18 feb 2003, 22:02
- Twitter: meon
- Locatie: Bree
- Uitgedeelde bedankjes: 564 keer
- Bedankt: 759 keer
- Contacteer:
Via twitter ook een paar tips gekregen en het lijkt er op dat de identity van de application pool inderdaad files kan maken en bijwerken, maar niet verwijderen. Door de propability van 1 op 1000 zag ge die error natuurlijk heel zelden (in de praktijk nooit).
Met die op 1/10 te zetten krijg ik: "Notice: session_start() [function.session-start]: ps_files_cleanup_dir: opendir(C:\Windows\Temp) failed: No error (0)."". Ja, da's wel duidelijk eh.
Heb nu dedicated folders voor sessies en uploads gemaakt met aangepaste rechten, eens kijken wat dat geeft over 1440 seconden.
't Probleem is dat er een monitoring/keepalive ding elke 3 seconden een polling doet naar de site en bijgevolg héél veel sessies maakt... Ik zit heel snel aan heel veel files.
Met die op 1/10 te zetten krijg ik: "Notice: session_start() [function.session-start]: ps_files_cleanup_dir: opendir(C:\Windows\Temp) failed: No error (0)."". Ja, da's wel duidelijk eh.
Heb nu dedicated folders voor sessies en uploads gemaakt met aangepaste rechten, eens kijken wat dat geeft over 1440 seconden.
't Probleem is dat er een monitoring/keepalive ding elke 3 seconden een polling doet naar de site en bijgevolg héél veel sessies maakt... Ik zit heel snel aan heel veel files.
- selder
- Moderator
- Berichten: 6305
- Lid geworden op: 29 jun 2005, 20:25
- Locatie: Tienen
- Uitgedeelde bedankjes: 99 keer
- Bedankt: 727 keer
Ge hebt die rotte UAC toch afstaan hé, want dan hebt ge pas "maximale rechten" als ge uw process "run as administrator"...Astralon schreef:... hoe zit het met de toegangsrechten op de temp folder? ...
Ghost S1 • 8086K @5.2Ghz • Asus ROG Ryuo 240mm • Asus ROG STRIX Z390-I • Corsair Vengeance LPX 2x16GB 3200Mhz • Asus RTX2080Ti Turbo • Samsung 970 EVO 2TB • Asus ROG Swift PG258Q 240Hz • Logitech G Pro keyboard/mouse/headset
- meon
- Administrator
- Berichten: 16609
- Lid geworden op: 18 feb 2003, 22:02
- Twitter: meon
- Locatie: Bree
- Uitgedeelde bedankjes: 564 keer
- Bedankt: 759 keer
- Contacteer:
Ondertussen zijn we de timeout verder en heb ik 600 sessies terug zien vallen naar 560, dus de GC doet nu wél zijn werk, ik denk dat het opgelost is
Bedankt voor 't meedenken!
Bedankt voor 't meedenken!
- meon
- Administrator
- Berichten: 16609
- Lid geworden op: 18 feb 2003, 22:02
- Twitter: meon
- Locatie: Bree
- Uitgedeelde bedankjes: 564 keer
- Bedankt: 759 keer
- Contacteer:
Is voor mij geen oplossing aangezien ik de Win-API (com-objecten) aanspreek, Active Directory uitlees en MSSQL als database gebruik met SSPI.selder schreef:Geen oplossing en totaal offtopic, maar ik heb me gewonnen gegeven, en de IIS7 op W2K8r2 buitengekegeld en een Centos met Apache geinstalleerd. Ik slaap nu veel beter 's nachts
Valt misschien allemaal rondom te scripten, maar 't is al ingewikkeld genoeg zo