Joomla.it Forum
Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => : keyascii 15 Oct 2010, 13:59:32
-
All'improvviso, mi è comparso questo errore, sia in backend che in frontend. Non mi faceva accedere a nessuno dei due lati del sito.
Warning: require_once() [function.require-once]: Unable to allocate memory for pool. in /home/miosito/public_html/administrator/index.php on line 21
Questo errore, oltre alla riga 21 del file index.php, come potete notare, me lo riportava in molti altri file del cms.
Sono andato in panico e non ho avuto la prontezza di fare un copia/incolla per mostrervelo per intero.
La prima cosa che mi è venuta in mente da fare, è stata controllare il database, che riportava in alcune tabelle, tra cui la jos_sessions, valori in eccesso.
Ho riparato le tabelle e si è ripristinato il tutto per cui penso che il problema sia statop proprio quello.
Sembra che sto aprendo un topic già risolto, ma la domanda è: come mai accade questo? come mai le tabelle si corrompono? esiste un modo per evitarlo?
A quanti di voi è capitata una cosa del genere?
Grazie
-
nessuno ha avuto questo problema?
-
Probabilmente sarà stata una query che ha generato errore di memoria e dopo sarà forse andato anche in timeout (quest'ultima però è da verificare).
Ciò ti ha provocato una scrittura errata sulle tabelle del db, corrompendo quindi alcuni record e minando l'integrità del db stesso.
Io personalmente (ovvio quando capita) spero in caso di errori più in un timeout che in un problema di allocazione di memoria, proprio per quello che ti ho scritto sopra.
Ora non dovresti avere problemi in quanto hai detto che hai "riparato" le tabelle.
Cosa fare? Evitare di caricare joomla con estensioni che vanno ad eseguire query che possono generare traffico o sovraccarico di richieste da e verso il server dove poggia sia il sito che il db, proprio per non incorrere in queste cose.
Anche per questo diciamo sempre di scegliere un piano di hosting in linea con ciò che si vuole avere e fare con il proprio sito, senza badare a spese quando si mette su un sito ricco di funzionalità (se mi faccio un sito con un forum, una chat, servizio sms, sharing video etc. è chiaro che devo scegliere una soluzione adeguata, altrimenti...); poi se si lavora in locale è un'altra cosa, lì i fattori sono altri e sono legati al pc e al suo s.o..
-
Il sito non ha molti componenti e non ha componenti particolari ma trovo spesso tabelle con dati in eccesso e la jos_sessions quasi sempre.
Un piccolo rimedio l'ho trovato che però non è la soluzione ma solo un paliativo che dovrebbe (spero) evitarmi molto problemi.
Ho configurato un cronjob 2 volte al giorno che mi ripara le tabelle in automatico. :) :D ;D
-
Altri task? Controllato anche quelli?
Comunque giocare con i db quando non è necessario può essere controproducente... occhio eh con quel cronjob.
Se ora va bene lascia stare, "quieta non movere".
-
Mi consigli di toglierlo quindi?
La riparazione delle tabelle è così invasiva?
-
Invasiva non è proprio il termine giusto, è per il fatto che è meglio non giocare con la salute del db; quella operazione va fatta alla bisogna.
Aggiungo anche che un cronjob impostato con quella frequenza ti dico che bisogna stare accorti anche a quando lanciarlo, magari se ti fa stare tranquillo allora fallo magari 1 volta ogni 2-3 giorni e in momenti in cui non c'è molto traffico e quindi non vengono generate particolari query.
A mio avviso però non ce n'è bisogno.
-
Seguirò il consiglio, grazie...
Una volta a settimana e passa la paura. La domenica notte :)
Grazie
-
Prego e buon lavoro.