Vad innebär opcache.validate_timestamps?
Vad innebär opcache.validate_timestamps
?
opcache.validate_timestamps
är en konfigurationsinställning i PHP OPcache som styr hur OPcache hanterar tidsstämplar för cachelagrade PHP-skript. Det avgör om OPcache ska kontrollera om det underliggande PHP-skriptet har ändrats på filsystemet sedan det cachelagrades.
Funktion och innebörd
- Om värdet är
1
(standard):- OPcache validerar tidsstämplar för de cachelagrade filerna. Det innebär att OPcache kontrollerar om den cachelagrade filens "Last Modified"-tidsstämpel matchar den aktuella filen på disken varje gång filen ska användas.
- Om filen har ändrats på disken (nyare tidsstämpel) rensas den gamla versionen från cachen och den nya versionen läses in och cachelagras.
- Detta är användbart under utveckling eller om skript ändras ofta.
- Om värdet är
0
:- OPcache validerar inte tidsstämplar. När en fil är cachelagrad används den versionen tills servern (eller PHP-FPM-processen) startas om, eller tills OPcache töms manuellt.
- Detta kan ge bättre prestanda eftersom OPcache inte behöver kontrollera filens tidsstämpel.
- Används vanligtvis i produktionsmiljöer där koden sällan ändras.
Konfigurationsinställning
Syntax i php.ini
:
opcache.validate_timestamps=1
Justering via runtime (vid behov):
ini_set('opcache.validate_timestamps', '1');
Relaterade inställningar
opcache.revalidate_freq
:- Styr hur ofta (i sekunder) OPcache kontrollerar tidsstämplar för cachelagrade filer, om
opcache.validate_timestamps
är aktiverat. - Standardvärde är
2
, vilket betyder att OPcache kontrollerar filerna varannan sekund.
opcache.revalidate_freq=2
- Styr hur ofta (i sekunder) OPcache kontrollerar tidsstämplar för cachelagrade filer, om
opcache.enable
:- Om OPcache är aktiverat överhuvudtaget.
opcache.enable=1
När ska man använda vad?
- Utvecklingsmiljö:
Använd
opcache.validate_timestamps=1
så att dina ändringar i PHP-kod direkt reflekteras utan att du behöver tömma OPcache manuellt. - Produktionsmiljö:
Använd
opcache.validate_timestamps=0
för att maximera prestanda. Se till att du tömmer OPcache eller startar om tjänsten när du rullar ut nya kodändringar.