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 scritto:

    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 scritto:

    @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 scritto:

    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 scritto:

    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 scritto:

    @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 scritto:

    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 scritto:

    Beh, con Tophost funzionava.
    Ma anche il nuovo metodo sembra non dare problemi. ๐Ÿ™‚

  8. camu ha scritto:

    @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 scritto:

    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 scritto:

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

  11. Tommy David ha scritto:

    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…). ๐Ÿ™

    Risposte al commento di Tommy David

    1. camu ha scritto:

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

  12. Splact ha scritto:

    Grazie mille, ho avuto anche io lo stesso problema, ma è andato tutto liscio! ๐Ÿ˜‰

  13. Vittorio ha scritto:

    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 scritto:

    @Vittorio: felice di esserti stato utile ๐Ÿ˜‰

  15. Seo Blog ha scritto:

    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 scritto:

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

  17. Tommy David ha scritto:

    Ho appena aggiornato alla 2.8.1: il wp-settings è stato sovrascritto anche stavolta… ๐Ÿ™

  18. camu ha scritto:

    @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 scritto:

    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 scritto:

    @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 scritto:

    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 scritto:

    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 scritto:

    @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. BloGlobal.it ha scritto:

    […] sul blog di Camu la soluzione ad un problema riscontrato immediatamente dopo l’aggiornamento all’ultima […]

  25. BloGlobal.it ha scritto:

    […] Come già segnalava Camu qualche mese fa, la soluzione è abbastanza semplice. Basta aprire il file wp-settings.php,ย situato nella cartella principale del server, e aumentare il limite di memoria assegnata a WordPress. Quasi all’inizio del codice, infatti, troveremo una variabile WP_Memory_Limit, impostata di default a 32 mega: bene, non dobbiamo far altro che sostituire quel “32″ con qualcosa di più (Camu lo ha cambiato con 38) per assegnare una quota di memoria maggiore ed evitare che WordPress si blocchi durante il caricamento della bacheca principale. […]

  26. Francesco ha scritto:

    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 scritto:

    @Francesco: posso chiedere l’aiuto del pubblico? Cinquanta e cinquanta? La telefonata a casa? ๐Ÿ™‚

  28. Francesco ha scritto:

    Come dire che vedi la tv italiana?

    (o che è una domanda scema?)

    Non capisco

    Error

    wp_die

  29. Francesco ha scritto:

    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 scritto:

    @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. […] Dopo un pรฒ di ricerche mi sono imbattuto su un altro blog wordpress, duechiacchiere.it, dove in questo post spiega come ha affrontato i miei stessi problemi. Tra i commenti la soluzione, inserire […]

  32. Lorenzo ha scritto:

    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!

    Risposte al commento di Lorenzo

    1. camu ha scritto:

      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 ๐Ÿ™‚

      Risposte al commento di camu

      1. Lorenzo ha scritto:

        @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!

        Risposte al commento di Lorenzo
        1. camu ha scritto:

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

Rispondi a Lorenzo De Santis

Torna in cima alla pagina