PHP + IIS 7.5 = Sessies worden niet opgeruimd

Plaats reactie
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

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...
Gebruikersavatar
selder
Moderator
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
Astralon
Elite Poster
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 :oops: :
- 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?
Gebruikersavatar
meon
Administrator
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.
Gebruikersavatar
selder
Moderator
Moderator
Berichten: 6305
Lid geworden op: 29 jun 2005, 20:25
Locatie: Tienen
Uitgedeelde bedankjes: 99 keer
Bedankt: 727 keer

Astralon schreef:... hoe zit het met de toegangsrechten op de temp folder? ...
Ge hebt die rotte UAC toch afstaan hé, want dan hebt ge pas "maximale rechten" als ge uw process "run as administrator"...
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
a3ke
Elite Poster
Elite Poster
Berichten: 2377
Lid geworden op: 07 nov 2007, 21:52
Locatie: 2800 Mechelen
Uitgedeelde bedankjes: 170 keer
Bedankt: 62 keer
Contacteer:

Offtopic :oops:

Duidelijk techtalk :troosten:
The eternal and true pessimist :D
Gebruikersavatar
meon
Administrator
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!
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

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 :)
Is voor mij geen oplossing aangezien ik de Win-API (com-objecten) aanspreek, Active Directory uitlees en MSSQL als database gebruik met SSPI.
Valt misschien allemaal rondom te scripten, maar 't is al ingewikkeld genoeg zo :)
Plaats reactie

Terug naar “Development”