Hur tömmer jag opcache?

~ 0 min
2025-01-18 17:27
Tömma OPcache

Så tömmer du OPcache på en webbserver som använder Apache och PHP

1. Använd PHP:s inbyggda funktioner

PHP tillhandahåller funktioner för att rensa OPcache manuellt:

Exempel:


<?php
// Rensa OPcache
if (function_exists('opcache_reset')) {
    opcache_reset();
    echo "OPcache cleared.";
} else {
    echo "OPcache is not enabled.";
}
?>
    

Hur man använder:

  1. Lägg filen på din webbserver (t.ex. i rotkatalogen för din webbplats).
  2. Gå till filen i din webbläsare, exempelvis: http://example.com/clear_opcache.php.
  3. När du laddar sidan töms OPcache.

Obs! Efter att ha använt filen, ta bort den för att förhindra obehörig åtkomst.

2. Använd kommandoraden

Om du har tillgång till kommandoraden på din server kan du tömma OPcache med hjälp av PHP CLI:

Exempel:


php -r "if (function_exists('opcache_reset')) { opcache_reset(); echo 'OPcache cleared.'; } else { echo 'OPcache is not enabled.'; }"
    

3. Genom att starta om Apache

Om du inte kan använda funktionerna ovan kan du rensa OPcache genom att starta om Apache. När Apache startar om rensas OPcache automatiskt.

Exempel:


sudo systemctl restart apache2
    

Eller, om du använder en äldre version av Apache:


sudo service apache2 restart
    

4. Ändra OPcache-inställningar tillfälligt

Om du inte vill använda skript kan du ställa in följande i din PHP-konfigurationsfil (t.ex. php.ini eller en Apache-konfigurationsfil som php.conf):

Exempel:


opcache.enable=0
    
  1. Starta om Apache:
    sudo systemctl restart apache2
  2. Ändra tillbaka inställningen till:
    opcache.enable=1
  3. Starta om Apache igen.

5. Kontrollera att OPcache tömts

Du kan bekräfta att OPcache är tömd genom att använda ett OPcache-statusverktyg som opcache-gui eller genom att skapa ett skript som visar dess status:

Exempel:


<?php
// Visa OPcache-status
if (function_exists('opcache_get_status')) {
    print_r(opcache_get_status());
} else {
    echo "OPcache is not enabled.";
}
?>
    

 

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

Du kan inte kommentera den här frågan