due chiacchiere

Allowed memory size exhausted

Ebbene si, stamattina mi sono armato di santa pazienza ed ho aggiornato il programma che uso per gestire questa baracca, WordPress, all’ultima versione disponibile, la 2.8. L’aggiornamento automatico da pannello di controllo è andato più o meno liscio: ho dovuto disattivare tutti i plugin, per evitare l’errore di “memoria esaurita” del sistema. Ma la sorpresa è stata quando rientrando nel pannello di controllo, trovo una bacheca “rotta” in cui alcuni box non si vedono, i colori sono sfasati ed altre cose strane.

Dopo aver sbattuto un po’ la testa, mi rendo conto che il problema è sempre quello: Allowed memory size of 33554432 bytes exhausted. Scopro così su un blog inglese, che la versione 2.8 introduce nel file wp-settings.php (lo trovi nella cartella principale) una variabile WP_MEMORY_LIMIT, impostata per default a 32 mega. Mi è bastato alzare il limite a 38 mega, e tutto è tornato a posto.

Se anche tu hai lo stesso problema, a prescindere dalla versione di WordPress che stai usando (superiore alla 2.8, s’intende), nel tuo wp-config.php aggiungi

define('WP_MEMORY_LIMIT', '38M');

Ovviamente puoi cambiare 38M con il numero che ritieni più appropriato, molti suggeriscono 64M, ma non sempre i provider consentono tanta libertà, quindi è meglio sparare basso. Per fortuna non uso poi così tanti plugin! Se vedi qualcosa di strano, per favore fammi un fischio.

Commenti

  1. Piero_TM_R ha detto:

    Aggiornato anch’io, solo che ho installato la relase ufficiale e non quella totalmente tradotta in italiano, ora ho alcune voci in inglese nell’amministrazione…. :S

  2. camu ha detto:

    @Piero_TM_R: si, i gestori della versione italiana hanno annunciato sul blog che ci sarà qualche ora di ritardo, ma poco male. Almeno impari un po’ di inglese nel frattempo 🙂 Ad ogni modo, quando sarà rilasciata la versione nostrana, ti basterà caricare sul server il solo file di lingua, non devi mica reinstallare tutto 🙂

  3. Tommy David ha detto:

    Ti ringrazio.
    Col mio blog è filato tutto liscio; non così con quello della consorte. (Nel mio avevo già elevato la memoria a 64 MB tempo fa, non ricordo manco più come, ma certo prima della recente ufficializzazione…)

  4. Tommy David ha detto:

    Ecco: per la cronaca, nel wp-config.php, avevo inserito all’inizio la riga
    ini_set('memory_limit', '64M');
    Proverò se funziona anche il nuovo metodo, certo più ufficiale…

  5. camu ha detto:

    @Tommy David: il problema di ini_set è che non tutti i provider ne consentono l’utilizzo (credo che il mio lo faccia) quindi c’è il rischio che sia inutile. Il nuovo metodo invece credo aggiri il problema in altri modi… grazie per aver chiarito questo passaggio…

  6. Emanuele ha detto:

    Io aspetto la versione tradotta così nel mentre leggo post come questi e mi preparo a possibili problemi. Speriamo bene… ho così poco tempo da dedicare a queste cose! 😐
    Ciao,
    Emanuele

  7. Tommy David ha detto:

    Beh, con Tophost funzionava.
    Ma anche il nuovo metodo sembra non dare problemi. 🙂

  8. camu ha detto:

    @Tommy David: si, confermo che tophost (che anche io uso per il blog) consente l’uso di ini_set… e forse è il metodo migliore, perché mi chiedo cosa succede quando aggiorneremo alla versione 2.9, il wp_settings.php sarà sovrascritto?
    @Emanuele: beh, facci sapere come va con il tuo provider 🙂

  9. Emanuele ha detto:

    Magari metteranno una piccola routine di scan del file alla ricerca della stringa. Sono 2 righe!
    Appena aggiorno scoprirò come va da me! 😉
    Ciao,
    Emanuele

  10. camu ha detto:

    @Emanuele: ma dico io, non era più facile mettere questa riga nel wp-config? mah…

  11. Tommy David ha detto:

    il wp_settings.php sarà sovrascritto?

    Il tuo sospetto era fondato.
    Ieri ho aggiornato alla nuova versione inglese. Oggi a quella italiana.
    Risultato: ho dovuto nuovamente impostare il limite manualmente in quel file (avevo già ottenuto l’errore di memoria…). 🙁

    1. camu ha detto:

      @Tommy: buono a sapersi 🙂 Spulcerò nel loro Trac per vedere se questo “difetto” è stato già segnalato e sarà corretto.

  12. Splact ha detto:

    Grazie mille, ho avuto anche io lo stesso problema, ma è andato tutto liscio! 😉

  13. Vittorio ha detto:

    Grazie per il suggerimento.

    Anche io, che stamattina mi sono finalmente deciso ad aggiornare wp sul mio blog, avevo riscontrato lo stesso problema. Inizialmente, avevo risolto aggiungendo una riga iniziale al file cache.php che settasse a 64M il limite di memoria. Ma la tua soluzione è decisamente migliore…

  14. camu ha detto:

    @Vittorio: felice di esserti stato utile 😉

  15. Seo Blog ha detto:

    A me fortunatamente è andato tutto liscio come l’olio.. Aggionamento in 10 secondi.. Per ora va tutto bene, vedremo..

    Saluti,
    Lorenzo De Santis

  16. Giovanni Ruggiero ha detto:

    Il tuo post è stato fondamentale per risolvere il problema. Grazie di cuore.

  17. Tommy David ha detto:

    Ho appena aggiornato alla 2.8.1: il wp-settings è stato sovrascritto anche stavolta… 🙁

  18. camu ha detto:

    @Tommy David: si, infatti ho scoperto che la stessa cosa si può definire nel wp-config (vedi il mio post aggiornato qui sopra). Questo non verrà sovrascritto al prossimo aggiornamento, con buona pace di tutti. Ah, per molti provider consiglio di non usare 64 mega, pare che un valore intorno ai 40 è più che sufficiente 😉

  19. Lorenzo De Santis ha detto:

    Ciao Samu, come va con gli ultimi 2 aggiornamenti? Alcuni blog che ho su tophost non ne vogliono sapere di risolvere la questione con questo cambio di parametri.. E pensare che si credeva che con i nuovi release si potesse risolvere..

    Fammi sapere 😉
    Lorenzo

  20. camu ha detto:

    @Lorenzo De Santis: mah, qui e su altri 4 blog che gestisco sempre via tophost, tutto liscio come l’olio. Credo che più che Tophost, il colpevole sia qualche plugin che utilizzi, che “ciuccia” troppa memoria 😉

  21. Lorenzo De Santis ha detto:

    Ciao Camu, sembra strano sono blog con pochi plugin, 3 4 massimo.. Comunque tutto liscio aumentando la memoria oppure lasciando cosi com’è di default, e nel caso a quanto la metti?

    Saluti,
    Lorenzo

  22. Lorenzo De Santis ha detto:

    Sai come mi scompare purtroppo, con All in Seo One, eppure ho inserito l’ultima versione si di wordpress che del plugin, tu usi All in SEO ONE?

  23. camu ha detto:

    @Lorenzo De Santis: come dicevo nell’articolo, io ho aumentato a 38 mega, che nel mio caso è il valore ideale, giusta combinazione tra “non spreco” delle risorse di Tophost (64 mega, come suggerivano alcuni, fa scattare meccanismi di QoS che ti rallentano il sito, giustamente) e consumo da parte di WordPress. Riguardo al plugin, non lo uso perché faccio tutto da solo 😉

  24. Pingback: BloGlobal.it
  25. Pingback: BloGlobal.it
  26. Francesco ha detto:

    Non trovo risposta a una domanda, penso elementare: se creo delle nuove pagine per il tema (inclusa una chiamata 404.php che esiste ad esempio nel tema Default) le funzioni interne di WordPress non funzionano, mi riferisco a o o .

    Ho creato due formulari di verifica commento e lì ho spedito il risultato delle funzioni contenuto in una variabile con il metodo post da un input type=”hidden”.

    Possono soccorrermi le funzioni ‘include’ o ‘require_once’?

    Grazie

    Francesco

  27. camu ha detto:

    @Francesco: posso chiedere l’aiuto del pubblico? Cinquanta e cinquanta? La telefonata a casa? 🙂

  28. Francesco ha detto:

    Come dire che vedi la tv italiana?

    (o che è una domanda scema?)

    Non capisco

    Error

    wp_die

  29. Francesco ha detto:

    Comunque… ho modificato il file .htaccess, ho creato la pagina 404.php col metodo Camu e funzia.

    L’unico problema è che funziona se parto dall’indirizzo del sotodominio (wordpress.4elementi.info) mentre non funziona se parto dall’insirizzo naturale 4elementi.info/wordpress.

    Comunque il tema accessibile partirà.

    Besos

    Francesco

  30. camu ha detto:

    @Francesco: nel mio precedente messaggio intendevo che non mi era chiara la domanda che avevi posto, tutto qui 🙂 Ci mancherebbe che la tua domanda fosse scema, tutt’altro! Riguardo al sottodominio, sei sicuro di aver configurato l’htaccess in maniera corretta?

  31. Lorenzo ha detto:

    Non vorrei essermi perso qualche passaggio..
    ma vorrei precisare come fare ad alzare il limite della memoria (almeno nel mio caso su indicazione del tecnico di tophost).
    Nella cartella “wp-includes” ho aperto il file “default-constants.php” e ho modificato la parte di codice iniziale. [codice omesso, ndr]

    Così ho risolto il problema (so che fare due cose dentro l’if e l’else uguali non ha senso). So anche che forse è la stessa soluzione data da voi (visto che questo comando viene fatto solo con !defined) ma mi è stata suggerita da tophost (su sui è ospitato il mio sito).

    ciao!

    PS: il valore di 64M mi è stato sugerito sempre dal tecnico che aveva in gestione il mio ticket!

    1. camu ha detto:

      Lorenzo, mi spiace ma la soluzione suggerita dal tecnico non va bene, per il semplice fatto che viene sovrascritta ad ogni aggiornamento. Quella che offro io invece no 🙂

      1. Lorenzo ha detto:

        @camu: non capisco cosa vuol dire la tua affermazione..dici che quella variabile viene reinizializzata ogni volta che controllo se è stata definita? grazie per la tua risposta veloce!

        1. camu ha detto:

          No, mi riferivo al fatto che ogni volta che aggiorni WordPress la tua soluzione verrebbe sovrascritta…

Lascia un commento