OPCache è un ottimizzatore PHP molto sfruttato per via della sua relativa facilità d’uso, e rende i siti web tendenzialmente più veloci di quanto non sarebbero con la versione di PHP standard. La necessità di ricorrere a OPCache in PHP nasce da un requisito storicamente molto criticato del PHP stesso, ovvero il fatto che sia un linguaggio interpretato: in altri termini, al momento dell’esecuzione di uno script PHP (parte del processo di uso di WordPress o “in solitaria”) uno stesso frammento può essere compilato ed interpretato più volte, comportando un potenziale spreco di risorse (RAM e CPU).
Requisiti
Utilizzare PHP versione 7.4 o successive. Per verificare la versione di PHP utilizzata potete verificarlo dal cPanel del vostro sito (o dal Plesk, a seconda dei casi), oppure con il comando da terminale
php -v
che dovrà restituire una versione almeno 5.5.0. Se non ce l’avete, dovreste aggiornare PHP all’ultima versione seguendo la guida che ho appena linkato in questo articolo.
Vantaggi di OpCache
OPcache è un modulo che migliora le performance di PHP sfruttando una complessa architettura informatica precompilata, riducendo il numero di volte in cui, durante il caricamento di una pagina, PHP ha bisogno di richiamare più volte gli stessi script. Si tratta quindi di un’ottimizzatore automatizzato per il codice PHP, che potete usare anche in WordPress allo scopo di provare a migliorare i tempi di caricamento e, in alcuni casi, anche il PageSpeed Insights.
Installare OpCache
OpCache potrebbe non essere disponibile nel vostro servizio di hosting, per cui andrebbe richiesto al servizio stesso di abilitarvelo. Cosa che potete fare anche da VPS, volendo, seguendo la procedura seguente.
Enabling OPcache
Per abilitare OPcache, dopo aver installato l’ultima versione di PHP disponibile (poniamo che sia la 7.4, ad esempio) andiamo ad editare il file PHP.ini con l’editor SSH nano:
sudo nano /etc/php/7.4/apache2/php.ini
Se usate NGINX o comunque PHP-FPM, invece:
sudo nano /etc/php/7.4/fpm/php.ini
Abilitare OPcache è molto semplice: cercate questa riga
;opcache.enable=0
e sostituitela con quest’altra
opcache.enable=1
facendo attenzione a togliere di mezzo il ; iniziale, qualora fosse presente. Usciamo da nano (CTRL X) e poi riavviamo Apache:
sudo service apache2 restart
oppure Nginx, a seconda di quello che usate
sudo service nginx restart
Per verificare che OPcache funzioni correttamente, andate a creare un file phpinfo.php nella root del vostro sito (ad esempio (/var/www/html) inserite il seguente codice:
<?php phpinfo(); ?>
uscite dall’editor, salvando prima di uscire, e provate ad aprire il file tuosito.com/phpinfo.php; dovreste vedere da qui una sezione OpCache che confermerà che è tutto ok e funzionante.
Configurare OpCache con WordPress
Potete installare e gestire OpCache in WordPress in modo automatico, con il controllo sulla flush della cache, sfruttando il plugin gratuito:
Configurare OpCache nel dettaglio
Per garantire buoni livelli di performance del sito, è consigliabile inserire le seguenti direttive nel file PHP.ini:
opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1
Per sapere quale file PHP.ini modificare e dove si trova, basta verificare mediante il comando phpinfo() che restituisce, tra l’altro, il path correntemente usato dal sistema per il file PHP.ini. Altri piccoli miglioramenti si possono ottenere sfruttando le seguenti dritte di massima, che restano ovviamente valide solo come indicazione generale:
; da tarare sul numero di file di WordPress effettivi presenti nel sito: contiamoli
sfruttando il comando find . -type f -iname *.php | wc -l
opcache.max_accelerated_files=9500
; queste sono impostazioni da testare su una droplet VPS con 1 GB di RAM, ad esempio
opcache.memory_consumption=192
opcache.interned_strings_buffer=8
Su altre guide alla configurazione di opcache, consigliano queste impostazioni:
opcache.revalidate_freq=0
opcache.validate_timestamps=0
opcache.max_accelerated_files=7963
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
👇 Da non perdere 👇
- Domini Internet 🌍
- intelligenza artificiale 👁
- monitoraggio servizi online 📈
- Programmare 🖥
- Reti 💻
- Sicurezza & Privacy 👁
- 💬 Il nostro canale Telegram: iscriviti
- 🔵 Quiz interattivo capitali europee: quante ne conosci?
- 🔵 Antivirus per Android: sono utili? Ecco quali usare
- 🔴 Logaritmi for dummies