Fatal error memory size su Aruba, finalmente risolto!

Finalmente sono riuscito a risolvere uno dei problemi più grossi  che ho avuto da quando, su Aruba, ho passato il mio blog da FlatPress a WordPress: quello del messaggio

Fatal error: Allowed memory size of 12582912 bytes exhausted

che mi appariva tutte le volte che provavo a svolgere le normalissime operazioni da blogger: attivazione di un plugin (soprattutto), scrittura o modifica di un post, upload di una semplice immagine..

Potete benissimo capire quanti problemi avessi in tale situazione. Il problema nasce da una limitazione che Aruba ha impostato sui propri server, e precisamente sul file php.ini in cui è stata impostata la stringa

memory_limit = 12M

Tramite questa impostazione, si indica la quantità massima di memoria che uno script php può utilizzare, limite oltre il quale lo script viene interrotto generando il fatal error. Ciò che utilizza più memoria, all’interno di un CMS come WordPress, sono soprattutto query al database MySQL.

Per risolvere il problema, ho semplicemente aggiunto nel file wp-config.php, subito dopo il rigo

<?php

la seguente stringa

ini_set("memory_limit", "24M");

che, in sostanza, eleva il limite massimo di memoria da 12Mb a 24Mb. Ora funziona praticamente tutto , e in più la modifica è applicabile a qualsiasi CMS (ovviamente nei file necessari).

[techtags: WordPress, Aruba, fatal error, cache, memory_limit, php.ini]

24 risposte a “Fatal error memory size su Aruba, finalmente risolto!”

  1. In effetti c’è da dire che prima non funzionava quasi niente…stava diventando frustrante, e non nascondo che stavo cercando un hosting alternativo ad Aruba

  2. perfetto!
    ti ringrazio per la dritta!
    identico problema …ed anch’io vengo da flat press!
    ho messo il limite a 24… ma a questo punto mi chiedo: che sia troppo pesante il mio sito?
    se aruba ha messo il limite a 12 ci sarà un perché…oppure no?
    boh
    saluti!

  3. Complimenti per l’articolo ! Hai fatto sicuramente risparmiare grossi grattacapi a chi si appoggia a Hoster Low Cost, con risorse decisamente limitate !

    Da un punto di vista prettamente tecnico rimango un po’ perplesso sul fatto che teoricamente si possa bypassare le impostazioni di default settate in PHP.INI.

    Pensiamo ad esempio all’uso decisamente “MALIZIOSO” che si possa fare settando ini_set(“memory_limit”, “1024M”); ossia FINO ad 1 giga di ram, e poi allocare tramite uno script PHP tutta questa RAM o anche più.

    Credo che il risultato sia un bel DoS (Denial Of Service n.d.t).

    La soluzione credo per un hoster dunque sia quella di settare ini_set tra le funzioni disabilitate in php.ini ovvero più precisamente :

    disable_functions = ini_set; (seguita da eventuali altre per la sicurezza, come system, exec, ecc..)

    Sarebbe bene invece che ogni hoster metta in bella vista il settaggio di PHP.INI e un bel phpinfo() per dar modo ad ogni potenziale futuro cliente di VALUTARE consciamente l’offerta in base alle REALI esigenze.

  4. Ciao Marco, ti dirò: non avevo pensato all’uso “malizioso”. Certo è che sono d’accordissimo con te sulla necessità di un phpinfo per dare la possibilità di valutare consciamente (quanti lo fanno, attirati dal basso costo?) le offerte.

  5. Ciao, grazie di queste info. Io utilizzo da tempo hivemail come script per la posta elettronica. Ho sempre avuto il problema sulla ricezione di email con allegati pesanti (sopra i 2 mb). Lo script si stoppava ma senza dare errori. Se provavo io a fare l’upload di un allegato su un messaggio in uscita allora compariva il messaggio di memoria esausta. ho provato a mettere ini_set “memory_limit”, “24M”); ma il problema l’ho risolto solo impostando 128M. solo così riesco a ricevere allegati da 8/10 mega. rischio di fare casini con aruba? ciao grazie

  6. Grazie mille.. funziona davvero!
    Adesso non mi resta che capire cosa abbia indotto il mio wordpress a sforare i 64M imposti da ARUBA
    Sarà sicuramente colpa di un plugin, ma vallo a trovare!
    Non mi ero nemmeno reso conto dell'esistenza di questo errore!
    Ciao e grazie ancora!

  7. Per la cronaca:
    Trovato il guasto.. l'errore appariva solo in un articolo (a almeno non in tutti) all'atto di inviare un commento (che comunque veniva regolarmente inviato
    Il problema pare fosse il collegamento al relativo articolo sul forum (un plugin); evidentemente l'articolo ed i commenti erano tanti e tali da richiede un eccessiva memoria per la doppia allocazione del commento
    Altro non mi viene da pensare.. 

  8. mah, io sono in questa situazione ma non riesco ad uscirne.. il limite per me è di 25 MB e dovrei passare almeno a 200 .. non ne esco nemmeno con la stringa descritta da te..

  9. Non saprei come aiutarti…sono passato a Il Tuo Hosting ed ho risolto tutti i problemi che avevo con Aruba!

  10. Dovrebbe essere il file configuration.php o index.php modificando la funzione php ini_set, ovvero:

    ini_set(‘memory_limit’,’96M’);

    Ovviamente 96MB è un esempio, non mi assumo la responsabilità per un uso sconsiderato di queste modifiche 🙂

  11. il tasto destro disabilitato, in un post dove si offre del codice in aiuto agli altri, lo trovo davvero idiota.

  12. Io ho copiato e incollato usando firebug (ma basta anche vedere il codice con CTRL + U)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *