Joomla 1.5 – Error Loading Modules

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!

6 pensieri riguardo “Joomla 1.5 – Error Loading Modules”

  1. 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è.

  2. Grazie anche da parte mia ;) Anch’io ci stavo perdendo un bel po’ di tempo su questo problema e la soluzione proposta funziona perfettamente.

  3. Grazie tante…
    questa è la soluzione a COME INTEGRARE FILE ESTERNI PHP IN ARTICOLI JOOMLA….spero che google lo indicizzi a dovere..
    ;-)

  4. Ciao Ragazzi,
    io ho creato una pagina singola in joomla quindi non ho connessioni multiple a database, la sintassi che uso è questa?
    $host1 = “indirizzo”;
    $user=”username”;
    $pass=”password”;
    $db=”nomedb”;

    $db1 = mysql_connect($host1, $user, $pass);

    #$connessione=mysql_connect($name_server,$nome_utente,$password);

    $database=mysql_select_db($db,$db1);

    $sql=”select TABELLA.* from TABELLA”;

    $tutto=mysql_query($sql,$database);


  5. Salvatore:

    Ciao Ragazzi,
    io ho creato una pagina singola in joomla quindi non ho connessioni multiple a database, la sintassi che uso è questa?
    $host1 = “indirizzo”;
    $user=”username”;
    $pass=”password”;
    $db=”nomedb”;

    $db1 = mysql_connect($host1, $user, $pass);

    #$connessione=mysql_connect($name_server,$nome_utente,$password);

    $database=mysql_select_db($db,$db1);

    $sql=”select TABELLA.* from TABELLA”;

    $tutto=mysql_query($sql,$database);

    Stai comunque aprendo un’altra connessione rispetto a quella mantenuta aperta da Joomla, in questo senso si tratta sempre di connessioni multiple.

  6. Pingback: Joomla: “Error loading Modules” | Blogging for fun and profit

Lascia un commento

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