Posizionamento, Google, SEO
IL BLOG DI UN PROFESSIONISTA SEO
IL BLOG DI UN PROFESSIONISTA SEO
Joomla è un CMS molto potente, versatile e webmaster-friendly.
Capita però a volte di imbattersi in situazioni spiacevoli…
Un bel giorno dopo aver scritto del codice in php che interrogava il database (codice richiamato con il plugin Jumi), mi è comparso questo messaggio tanto generico quanto terribile
“Error loading Modules“
Messaggio generico perchè non spiega assolutamente la fonte del problema, terribile perchè si perdono ore o peggio giorni interi per capire cosa sia successo.
Jumi è un plugin molto interessante che permette di incluedere del codice all’interno di un modulo o di un qualunque articolo.
Comodissimo, io lo uso in joomla per piccole query su database senza dover scrivere componenti o moduli.
Dove sta il problema quindi di questo messaggio “Error loading Modules“ ?
Mysql si comporta in modo “strano“: se si aprono 100 connessioni a 100 diversi database sullo stesso server, MySql utilizza lo stesso id di connessione per ognuna di esse!
Quindi se fate qualcosa del tipo:
$db1 = mysql_connect($host, $user, $pass);
$db2 = mysql_connect($host, $user, $pass);
mysql_select_db(’db1′, $db1);
mysql_select_db(’db2′, $db2);
avrete una situazione chiamata race condition: solamente db2 viene selezionato.
Ecco spiegato perchè i moduli non vengono visualizzati!
Come risolvere il problema dell’errore nel caricamento dei moduli?
La mia soluzione al problema delle connessioni multiple è questa:
$host1 = “localhost”;
$host2 = “127.0.0.1″;
$host3 = “127.0.0.1:3306″;
$host4 = “localhost:3306″;
$db1 = mysql_connect($host1, $user, $pass);
$db2 = mysql_connect($host2, $user, $pass);
$db3 = mysql_connect($host3, $user, $pass);
$db4 = mysql_connect($host4, $user, $pass);
Spero che questa soluzione vi risparmi un bel po’ di tempo!
18/03/2010 - 16:26
Grazie tante. Mi hai risolto un problema che mi ha fatto perdere un paio di ore senza capire il problema. Avevo capito a quale riga si bloccasse il tutto ma non perchè.
30/03/2010 - 18:18
Grazie anche da parte mia ;) Anch’io ci stavo perdendo un bel po’ di tempo su questo problema e la soluzione proposta funziona perfettamente.