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

  1. Entra nel pannello dall’area clienti.
  2. Apri Custom OPcache fra i plugin del pannello.
  3. 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

  1. Sulla riga del dominio premi Configura: si apre la finestra Configura OPcache.
  2. Scegli il profilo. Sotto l’elenco compaiono le direttive che verranno applicate, così sai esattamente cosa cambia.
  3. Premi Applica. Lo stato passa a IN ATTESA ~1 min.
  4. Dopo circa un minuto ricarica la pagina: lo stato diventa ATTIVO e nelle colonne Preset e Direttive vedi il profilo scelto.
  5. 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.

  1. Sulla riga del negozio premi Correggi: si apre la finestra Correzione errori PrestaShop, che rileva l’installazione.
  2. Premi Applica correzione. Viene fatta una copia di sicurezza dei file interessati.
  3. La colonna diventa CORRETTO. La correzione si riapplica da sola dopo gli aggiornamenti di PrestaShop.
  4. 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.

Altri articoli su I plugin iWebLab nel pannello

Parliamone

Un hosting che ti spiega le cose, e poi le fa

Questi articoli nascono dalle domande dei nostri clienti. Se vuoi un hosting dove dietro ogni risposta c’è un tecnico vero, parliamone.

  • 4,9 su 5 su Trustpilot264 recensioni, il 96% a cinque stelle
  • Risponde un tecnicoIn italiano, da chi gestisce i server
  • Il trasloco lo facciamo noiSito, database e posta, controllati prima di spostare i DNS