FAQ

Vad innebär opcache.validate_timestamps?

~2 min
2025-01-18 17:17
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
  • 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.

Resultat av röstning: 0 (0 röster)

Du kan inte kommentera den här frågan