In: guide tutorials
18 ago 2008
Da un po di tempo ho riscontrato un problema nel mio pannello di amministrazione di WordPress facendo certe operazioni, specialmente sui plugins (attivazione/disattivazione/aggiornamento automatico) oppure per esempio sulla funzione di esportazione XML di WordPress, nello specifico l’errore ricevuto è:
PHP Fatal error: Allowed memory size of xx bytes exhausted (tried to allocate xx bytes) in /home/…/
Ricercando su Google ho potuto vedere che il fenomeno non è alquanto raro, ciò è dovuto a script PHP che utilizzano più memoria di quella massima consentita impostata nel server.
Tramite phpinfo() alla voce memory_limit ho constatato che nel mio hosting è impostato a 32M.
Per la risoluzione di questo problema se si ha la possibilità di settare direttamente nel file di configurazione di PHP (php.ini) un maggiore quantitativo di memoria con la direttiva php_value memory_limit xxM (dove al posto di XX immettere il valore desiderato, 12, 16, 32, 64…), questa operazione richiede il riavvio del servizio web. Se come me non si ha la possibilità essendo in hosting, si possono optare per queste strade:
- se il fornitore di servizi supporta il file .htaccess, si può aumentare la quantità di memoria direttamente in questo file (se non esiste occorre crearlo e piazzarlo nella radice dello spazio web) con la direttiva php_value memory_limit xxM
- se si ha un po di esperienza, nella pagina php che provoca l’errore, l’istruzione ini_set(”memory_limit”,”xxM”); (si, è necessario anche il “; )” subito dopo il tag < ? e prima di tutto il resto
Inoltre oltre a questo ho trovato in questi 2 articoli Improve Site Performance by Increasing PHP Memory for WordPress, WordPress Error Fix(?): Increase PHP Memory for cache.php due ulteriori soluzioni:
- nel file wp-config settare la direttiva @ini_set(“memory_limit”,”xxM”); proprio sotto < ?php>
- oltre a impostare nel file htaccess come descritto sopra, creare ed uppare un file chiamato php.ini semplicemente con l’istruzione memory_limit = xxM
Comunque al secondo sito l’autore ha creato uno zip scaricabile chiamato PHP Memory Control Pack con i file già preimpostati.
Un articolo che invece propone di adottare una soluzione diversa è quello del blog BlogRulez.com, in particolare riferimento dopo l’aggiornamento a WP 2.8
Ricordiamo infine che questi sono “forzature” al normale utilizzo di WordPress e vanno usate solo se necessario, per un normale funzionamento con la versione attuale di WordPress dovrebbero bastare le impostazioni di default, anche per un discorso di performance.
Per curiosità se si vuole monitorare l’uso della memoria esistono dei plugins appositi tra cui menziono WP-Memory-Usage e il più dettagliato WP System Health
Related posts:
Hai una news interessante riguardo software gratuiti/opensource, servizi e apps web, grafica e web design, tutorials informatici, ecc...? Contattami e se la riterrò interessante sarò lieto di pubblicarla.
Va alla pagina Advertising, potresti essere interessato!
Conosci un sito interessante riguardo software gratuiti/opensource, servizi e apps web, grafica e web design? Notificamelo tramite la form e se lo ritengo interessante potrei linkarlo nei miei articoli.
2 Responses to Come ho risolto il problema di memoria esaurita PHP su WordPress
errors php
settembre 9th, 2008
[...] php Fatal error: Allowed memory size of xx bytes exhausted tried to allocate xx bytes in /home/…/http://www.digitalking.it/2008/08/18/come-ho-risolto-il-problema-di-memoria-esaurita-php-su-wordpres…PHP: Error Handling Functions – ManualAffecting PHP’s Behaviour. Error Handling and Logging. [...]
Ottimizzare l’uso di memoria di Wordpress per le migliori performances | Simo Blog
luglio 6th, 2009
[...] Se tutto ciò non bastasse e non si rientra nei limiti è comunque possibile aumentare il livello di memoria (in base a quelli che il proprio hosting concede) come ho descritto in questo precedente articolo. [...]