Dimitri De Franciscis

Freelance Java/CMS/Database consultant, blogger, guitar player, photography, rubik cuber.

Scopri chi sono

Per chi non lo sapesse, XAMPP è un progetto di Apache Friends il cui scopo è promuovere l'utilizzo del web server Apache. L'obiettivo principale è permettere agli sviluppatori (con una strizzatina d'occhio anche ai sistemisti in erba) di avere un sistema completo per servire siti web dinamici. Il pacchetto comprende infatti:

  • Apache : il sopracitato web server;
  • MySQL : database;
  • PHP : interprete del linguaggio;
  • phpMyAdmin : applicazione per gestire MySql tramite il web.

Il gran pregio di XAMPP è la semplicità: si scarica, si estrae un archivio o si usa l'installer, il sistema è pronto. Tempo totale: 5 minuti!

Gestione dei conflitti: Apache

Purtroppo non tutto è così semplice come dovebbe essere, e il computer di uno sviluppatore non è mai configurato in maniera lineare e pulita. Compilatori, IDE, database, server di ogni genere sgomitano per ottenere le risorse, e non sempre è una battaglia combattuta con lealtà. Quando poi pure le applicazioni cominciano a mettere bastoni fra le ruote... bisogna aguzzare l'ingegno!

Quando apache non parte, 99 volte su 100 è colpa di Skype: il popolare programma di comunicazione infatti di default apre un server sulla porta 80, che guarda caso è quella dedicata ai server web! Per risolvere questo problema è sufficiente andare in Strumenti -> Avanzate -> Collegamento e disabilitare la voce "Usa le porte 80 e 443 come alternative per le connessioni in ingresso", come nell'immagine qui sotto:

Skype port 80 troubleshoot

 

Gestione conflitti: MySql o altri servizi

Un altro problema, meno frequente rispetto a quello di cui sopra, si presenta quando abbiamo già un servizio di Windows con lo stesso nome. Ad esempio, MySql si installa come servizio dal nome "MySql"; ciò diventa un problema nel momento in cui installiamo anche XAMPP, perché quest'ultimo cerca di installare la propria istanza di MySql ma si accorge che c'è già un servizio con quel nome, e va in confusione. Risultato: MySql non parte, sulla console otterremo questo messaggio:

ERROR: MySql service not started [-1]

Per risolvere questo problema, procedere in questo modo:

  • aprire un prompt dei comandi come amministratore: Start -> tutti i programmi -> accessori -> Tasto destro su prompt dei comandi e poi esegui come amministratore;
  • posizionarsi nella directory "bin", dove è installato MySql; nel mio caso C:\Program Files\MySQL\MySQL Server 5.5, ma voi potreste averlo installato da un'altra parte:
    cd C:\Program Files\MySQL\MySQL Server 5.5\bin
        
  • spegnere il server se necessario:
    mysqladmin.exe shutdown
        
  • rimuovere il servizio esistente:
    mysqld.exe --remove
        
  • installare MySql in modalità manuale, specificando un nome diverso da "MySql":
    mysqld.exe --install-manual MySql5.5_installed
        
    Utilizzando la modalità manuale il servizio non partirà più automaticamente all'avvio di Windows;

Ora riavviate il pannello di controllo, MySql dovrebbe partire normalmente.

Links


In libreria

Se hai trovato utili le mie guide, o hai trovato particolarmente interessante o divertente un articolo, perché non offrirmi una birra? Con PayPal è molto semplice, basta cliccare sul pulsante qui sotto e seguire la procedura:

Sito ospitato presso Web4Web

Web4Web.IT - Low Cost Hosting