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]
Spetttttttttacolo, finalmente ora funziona tutto!
Grazie mille!
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
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!
contento di esserti stato utile…tutto dipende da quanti plugin hai, io son “fermo” a quota 19 🙂
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.
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.
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
128Mb son tanti…non va neanche a 32? Non vorrei che ti seghino il sito…
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!
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..
Ciao Techno, grazie per il commento 🙂
Concordo con te, può essere che l'abbinamento articolo+commenti fosse troppo "pesante"…
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..
Non saprei come aiutarti…sono passato a Il Tuo Hosting ed ho risolto tutti i problemi che avevo con Aruba!
Scusa qual’è il file da modificare per joomla?
a me serviva almeno 96M e con il tuo suggerimento ho risolto! grazie mille
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 🙂
il tasto destro disabilitato, in un post dove si offre del codice in aiuto agli altri, lo trovo davvero idiota.
Tu pensa, c’è chi scrive un post per aiutare gli altri e c’è chi, invece, si firma come obama@whitehouse.gov per insultare.
De gustibus!
Io ho copiato e incollato usando firebug (ma basta anche vedere il codice con CTRL + U)
Non che ci voglia una laurea 🙂
ciao, speravo mi andasse bene ma niente, non mi funziona.. aiuto 🙁
Ciao Sheyla, purtroppo non sono più su Aruba 🙁