Ogni volta che qualcuno apre una pagina del tuo sito, PHP dovrebbe leggere e tradurre centinaia di file di codice. OPcache evita questo lavoro: tiene in memoria il codice già tradotto e lo riusa alle richieste successive. Nei nostri piani OPcache è già configurato per il CMS del piano, ma ogni sito è diverso: per questo nel pannello DirectAdmin trovi Custom OPcache, il plugin che ti permette di scegliere il profilo adatto a ciascun dominio. In questa guida vediamo cos’è, quando usarlo e come regolarlo.
OPcache in due parole
Il codice PHP di WordPress, PrestaShop o di un’applicazione Laravel è scritto in file di testo. Prima di eseguirlo, PHP lo deve compilare. Con OPcache la compilazione si fa una volta sola: il risultato resta in memoria e le richieste successive partono subito. È uno dei tre livelli di cache del tuo sito, insieme alla cache delle pagine e alla cache dei dati con Redis.
C’è un solo aspetto da regolare davvero: ogni quanto OPcache controlla se i file sono cambiati. Controllare spesso costa un po’ di lavoro in più; controllare di rado significa che una modifica a un file PHP può metterci un po’ a essere vista.
Dove si trova
- Entra nel pannello dall’area clienti.
- Apri Custom OPcache fra i plugin del pannello.
- Trovi una tabella con tutti i tuoi domini e le colonne Dominio, Stato, Preset, Direttive, PrestaShop e Aggiornato.
Leggere la colonna Stato
| Stato | Significato |
|---|---|
| default DA | Nessun profilo personalizzato: valgono le impostazioni del server, già tarate per il tuo piano |
| IN ATTESA ~1 min | Hai scelto un profilo e sta per essere applicato |
| ATTIVO | Il profilo è applicato |
| RIMOZIONE ~1 min | Hai tolto il profilo, il sito sta tornando alle impostazioni del server |
Le modifiche si attivano da sole in circa un minuto: non devi riavviare nulla.
I profili disponibili
| Profilo | Cosa fa | Per chi |
|---|---|---|
| PrestaShop | Le modifiche ai file (cache, moduli, aggiornamenti) sono viste subito | Negozi PrestaShop |
| Symfony / Laravel | Controllo dei file a ogni richiesta | Applicazioni Symfony e Laravel |
| WordPress / WooCommerce | Profilo spinto: i file vengono ricontrollati ogni 60 secondi | Siti WordPress e negozi WooCommerce |
| Sviluppo (modifiche subito visibili) | Ricontrolla i file a ogni richiesta | Siti in lavorazione via FTP o editor |
| Cache disattivata (solo per questo sito) | Spegne OPcache solo per questo dominio | Casi particolari, diagnosi |
| Personalizzato | Imposti a mano le singole voci | Chi sa esattamente cosa gli serve |
Applicare un profilo, passo per passo
- Sulla riga del dominio premi Configura: si apre la finestra Configura OPcache.
- Scegli il profilo. Sotto l’elenco compaiono le direttive che verranno applicate, così sai esattamente cosa cambia.
- Premi Applica. Lo stato passa a IN ATTESA ~1 min.
- Dopo circa un minuto ricarica la pagina: lo stato diventa ATTIVO e nelle colonne Preset e Direttive vedi il profilo scelto.
- Per tornare alle impostazioni del server premi Rimuovi sulla stessa riga.
Il profilo Personalizzato
Con Personalizzato spunti solo le voci che vuoi forzare; le altre restano ai valori del server. Le voci ammesse sono tre:
opcache.validate_timestamps: con 1 OPcache controlla se i file sono cambiati (consigliato); con 0 non controlla mai, e ogni modifica richiede uno svuotamento manuale della cache.opcache.revalidate_freq: ogni quanti secondi avviene il controllo. 0 significa a ogni richiesta; 60 è il valore del server.opcache.enable: per singolo dominio ha effetto solo lo 0, che spegne OPcache. Non si può riaccendere da qui una cache spenta a livello di server.
Il nostro consiglio è di partire sempre da un profilo predefinito e di usare il Personalizzato solo se sai perché ti serve.
Quale profilo scegliere
- Sito WordPress o WooCommerce in produzione: in genere va benissimo lo stato predefinito o il profilo WordPress / WooCommerce. Se modifichi un file PHP via FTP, la modifica può impiegare fino a un minuto a comparire.
- Sito in costruzione, con modifiche frequenti ai file PHP del tema: scegli Sviluppo, così vedi ogni cambiamento subito. Quando il sito va online, torna al profilo del CMS.
- Negozio PrestaShop: profilo PrestaShop, più la correzione descritta sotto.
- Applicazione Laravel o Symfony: profilo Symfony / Laravel.
- Un comportamento strano che sospetti legato alla cache del codice: per una prova puoi usare Cache disattivata, ma ricordati di rimuoverla subito dopo, perché il sito diventa più lento.
La correzione per PrestaShop
Alcuni negozi PrestaShop, e alcune applicazioni Symfony o Laravel, possono mostrare errori temporanei subito dopo lo svuotamento della cache. Per i negozi PrestaShop la colonna PrestaShop mostra lo stato della correzione: CORRETTO, PARZIALE oppure da correggere.
- Sulla riga del negozio premi Correggi: si apre la finestra Correzione errori PrestaShop, che rileva l’installazione.
- Premi Applica correzione. Viene fatta una copia di sicurezza dei file interessati.
- La colonna diventa CORRETTO. La correzione si riapplica da sola dopo gli aggiornamenti di PrestaShop.
- Se vuoi tornare ai file originali, dalla stessa finestra premi Ripristina.
È sicura e reversibile, e la consigliamo a tutti i negozi PrestaShop. Se il negozio usa anche il nostro modulo di cache, trovi altri consigli nella guida al modulo iWebLab Cache per PrestaShop.
Se qualcosa non torna
Se dopo aver cambiato profilo una modifica non sembra avere effetto, aspetta un minuto e ricarica la pagina del plugin: lo stato deve essere ATTIVO. Se resta in attesa a lungo, o se il sito mostra errori, apri un ticket indicando il dominio e il profilo scelto. Trovi le caratteristiche dei nostri piani nelle pagine hosting WordPress e hosting PrestaShop.