Limite di memoria PHP esaurito su WordPress
Cos’è il limite di memoria PHP esaurito su WordPress e perché compare
L’errore “Allowed memory size of X bytes exhausted” significa che uno script PHP ha provato a usare più memoria di quanta gliene sia stata assegnata, e PHP ha interrotto l’esecuzione per proteggere il server. Su WordPress compare tipicamente durante operazioni più pesanti del normale: un’importazione di contenuti, un aggiornamento, il salvataggio di una pagina con molti elementi, o la generazione di un report.
Il limite di memoria configurato è troppo basso per l’operazione in corso
La causa più comune è semplicemente un limite di memoria impostato più basso di quanto serva per l’operazione specifica che sta fallendo: molti hosting condivisi impostano di default valori contenuti (spesso 128M o meno) per limitare il consumo di risorse tra i tanti siti ospitati sullo stesso server, un valore sufficiente per la navigazione normale ma non per operazioni più impegnative.
wp-config.php limita la memoria a un valore inferiore a quello del server
Una causa meno visibile, ma frequente, riguarda due costanti specifiche di WordPress: WP_MEMORY_LIMIT (per il frontend del sito) e WP_MAX_MEMORY_LIMIT (per l’area amministrativa), definite in wp-config.php. Se queste costanti non sono presenti, WordPress usa valori predefiniti piuttosto contenuti; se sono presenti ma impostate a un valore basso, WordPress non chiederà a PHP più memoria di quella indicata lì, anche se il server ne permetterebbe di più.
Un plugin specifico consuma più memoria del previsto
Un caso da non escludere, soprattutto se l’errore compare sempre nello stesso punto (una specifica funzionalità, un plugin particolare), è che il problema non riguardi il limite in sé ma un plugin che consuma memoria in modo anomalo — per un’elaborazione di immagini non ottimizzata, una query che carica troppi dati in una volta, o un vero e proprio bug. In questi casi, alzare il limite può mascherare il sintomo temporaneamente, ma il consumo eccessivo di memoria resta un problema di fondo.
Come capire la causa esatta: leggere il messaggio di errore
Il messaggio di errore, letto per intero, contiene già le informazioni necessarie a capire se il problema è un limite generico troppo basso o un plugin specifico che sta consumando troppa memoria.
Il messaggio indica il file e la riga esatti
Il testo completo dell’errore include il percorso del file e il numero di riga in cui la memoria si è esaurita: se il percorso rimanda a un file del core di WordPress (nella cartella wp-includes o wp-admin) durante un’operazione oggettivamente pesante (importazione di un file grande, generazione di un backup), è più probabile che il limite sia semplicemente troppo basso per quell’operazione. Se invece il percorso rimanda sempre alla cartella di un plugin specifico, quel plugin è il primo indiziato per un consumo di memoria anomalo, indipendentemente da quanto alzi il limite.
Verificare se il problema è occasionale o sistematico
Se l’errore compare solo durante operazioni specifiche e pesanti (importazioni, aggiornamenti, generazione di report), è coerente con un limite generico non sufficiente per quel tipo di attività. Se invece compare durante l’uso normale del sito, o sempre nello stesso punto anche per un’azione semplice, il problema è più probabilmente legato a un plugin specifico che consuma memoria in modo sproporzionato rispetto a quello che dovrebbe fare.
| Sintomo osservabile | Causa probabile |
|---|---|
| Errore durante un’importazione, un’esportazione o un aggiornamento di grandi dimensioni | Limite di memoria generico non sufficiente per quel tipo di operazione |
| Il file indicato nell’errore appartiene al core di WordPress (wp-includes, wp-admin) | Limite troppo basso per un’operazione oggettivamente pesante |
| Il file indicato nell’errore appartiene sempre alla cartella di uno stesso plugin | Quel plugin consuma memoria in modo anomalo, va indagato a parte |
| WP_MEMORY_LIMIT o WP_MAX_MEMORY_LIMIT non presenti in wp-config.php | WordPress usa i valori predefiniti, spesso insufficienti per operazioni pesanti |
| L’errore si ripresenta anche dopo aver alzato di molto il limite | Consumo di memoria anomalo di un componente specifico, non un problema di limite |
Risolvere il limite di memoria esaurito: alzare il limite nel posto giusto
Per il caso più comune — limite generico insufficiente — la soluzione è alzare il limite di memoria sia a livello di WordPress sia, se necessario, a livello di server, verificando che le due impostazioni siano coerenti tra loro.
Alzare WP_MEMORY_LIMIT e WP_MAX_MEMORY_LIMIT in wp-config.php
Apri wp-config.php e aggiungi (o modifica, se già presenti) le righe define('WP_MEMORY_LIMIT', '256M'); e define('WP_MAX_MEMORY_LIMIT', '512M');, prima della riga che carica il resto di WordPress. La prima riguarda il limite usato dal sito pubblico, la seconda quello usato nell’area amministrativa, dove spesso servono più risorse per operazioni come aggiornamenti o importazioni.
Verificare che il server permetta davvero quel valore
Alzare queste costanti non basta se il server stesso impone un tetto più basso a livello di php.ini: verifica il valore reale di memory_limit da Bacheca → Strumenti → Salute del sito, e se risulta inferiore a quello appena impostato in wp-config.php, va alzato anche lì (dal pannello hosting, da .user.ini, o contattando il supporto, a seconda di cosa il tuo hosting permette).
Riprovare l’operazione e confermare nel log
Ripeti l’operazione che generava l’errore e verifica che non si ripresenti. Se hai attivato WP_DEBUG_LOG, controlla anche debug.log per confermare l’assenza di nuovi errori di memoria: un’assenza di errori dopo l’operazione più pesante che il sito normalmente esegue (un’importazione, un aggiornamento) conferma che il limite ora è sufficiente.
L’errore si ripresenta anche con limiti alti: il problema è un plugin specifico
Se dopo aver alzato sensibilmente i limiti (sia in wp-config.php sia a livello di server) l’errore si ripresenta comunque, e il file indicato nel messaggio riporta sempre lo stesso plugin, il problema non è il limite ma quel componente specifico. In questo caso, disattiva temporaneamente il plugin sospetto e verifica se l’operazione si completa senza errori: se sì, hai confermato la causa, e puoi cercare un aggiornamento del plugin che risolva il consumo eccessivo, contattarne il supporto segnalando l’errore con il riferimento esatto del log, oppure valutare un’alternativa se il problema non viene risolto.
Non riesci a risolvere? Intervento tecnico a distanza
Se non sei sicuro se il problema riguardi un limite insufficiente o un plugin specifico, se il tuo hosting non permette di alzare ulteriormente il limite di memoria disponibile, o se l’errore blocca un’operazione critica per il sito (un aggiornamento, un’importazione già iniziata), continuare a modificare valori senza una diagnosi chiara rischia di far perdere tempo senza risolvere la causa reale. In questi casi è possibile richiedere una verifica diretta dell’accesso al sito e al pannello hosting: si individua con precisione se il problema è di limite o di consumo anomalo, si applica la correzione corretta e si verifica che l’operazione si completi senza errori.
Domande frequenti sul limite di memoria PHP esaurito su WordPress
Qual è un valore sicuro di memoria per la maggior parte dei siti WordPress? 256M è generalmente sufficiente per un sito con un numero moderato di plugin attivi; siti con molti plugin, un page builder o un e-commerce attivo possono trarre beneficio da 512M, se il server lo consente.
Alzare troppo il limite di memoria rallenta il sito? No, il limite indica solo il massimo consentito: uno script che usa poca memoria continua a usarne poca anche con un limite alto impostato, il valore più alto serve solo a evitare l’interruzione quando davvero necessaria.
Perché ho già alzato memory_limit in php.ini ma l’errore continua? Probabilmente WordPress sta comunque limitandosi tramite le costanti WP_MEMORY_LIMIT o WP_MAX_MEMORY_LIMIT in wp-config.php, se presenti e impostate a un valore più basso di quello del server: vanno allineate entrambe le impostazioni.
Come faccio a capire quale plugin consuma troppa memoria? Il messaggio di errore completo indica il file e la riga esatti in cui la memoria si è esaurita: se il percorso rimanda sempre alla cartella di un plugin specifico, quello è il componente da verificare per primo.
Il mio hosting non mi permette di alzare oltre un certo limite: cosa faccio? Se il consumo eccessivo dipende da un plugin specifico, la soluzione più efficace non è insistere sul limite ma risolvere il consumo anomalo di quel componente (aggiornamento, sostituzione, o supporto dello sviluppatore); se invece il consumo è oggettivamente giustificato dal sito, potrebbe essere il momento di valutare un piano hosting con più risorse disponibili.
Vuoi risolverlo con un intervento diretto? Se l’errore di memoria persiste o non sei sicuro se dipenda dal limite o da un plugin specifico, è possibile richiedere una verifica diretta dell’accesso al sito: si individua la causa esatta nel log degli errori e si applica la correzione più adatta. → Contatta un esperto.
