Quando, accedendo al nostro sito, esce (spesso, anche senza che noi abbiamo toccato niente) questo errore PHP:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 163569 bytes)…
Succede perche gli script PHP hanno bisogno di più memoria di quanto ne offre, di default, il server.

Questo errore è capitato anche a me qualche giorno fa, per 2 giorni. Ho contattato l’hoster ma non sapeva risolvere il problema (oppure semplicemente “se ne lavava le mani“), al che ho deciso di googlare per trovare una soluzione al problema.
La soluzione è semplicissima e risiedeva in un ridicolo file php.ini presente nella home (anche se a me non c’era, quindi era opportuno aggiungerlo) del sito, ad esempio la mia home risiede nella cartella “public_html” della directory FTP, dove possiamo trovare tutti i file di WordPress (cioè dove si trovano le cartelle wp-admin, wp-includes e wp-content e i vari file PHP del CMS utilizzato).
Per risolvere bisognerebbe semplicemente creare un file di testo dal nome “php.ini” e metterci dentro questa stringa di testo:
memory_limit = 8M
Poi uploadatelo nella vostra home. Se non funziona incrementate il valore a 12M. Se ancora non basta provate in sequenza con 16M, 24M, 64M, 128M.
Un altra soluzione (che a me non ha funzionato) potrebbe essere quella di aprire il file .htaccess presente sempre nella home (solo se avete un hosting basato su linux) e metterci dentro questa stringa:
php_value memory_limit 8M
Anche qui, ovviamente, i valori possono essere incrementati in funzione alle esigenze della memoria da usare dagli script PHP.
EDIT: E poi ci sarebbe una terza alternativa, e sarebbe quella di impostare tale limite direttamente inserendo questo pezzo nel codice PHP:
ini_set (“memory_limit”,”20M”);
Ringrazio Marco Segato per la segnalazione di quest’ultima impostazione.





























[...] Via | Piplos’ blog [...]
Rispondi al commento di GeekSource » Blog Archive » Piccolo grande trucco, PHP senza limiti!
Un’altra possibilità è quella di impostare il valore direttamente all’interno del proprio codice:
ini_set ("memory_limit","20M");Rispondi al commento di Marco Segato
@ Marco Segato: Accidenti, quale onore averti nel mio umile blog!
Comunque, ho aggiunto, grazie della tua preziosa collaborazione!
Rispondi al commento di Piplos
San Google fa sempre ritrovare i vecchi amici di Flatnuke
Rispondi al commento di Marco Segato
Ti ringrazio della tua visita e spero di ritrovarti spesso su questo blog.
Rispondi al commento di Piplos
Hai salvato Bongo,
complimenti
Rispondi al commento di Nicola Greco