Gli utenti Mac di vecchia data consigliano sempre di eseguire un clean install piuttosto che un semplice upgrade quando esce una nuova versione di Mac OS X. Io non ho voluto dare retta, ho fatto addirittura un salto doppio e sono incappato in un piccolo ma fastidiosissimo bug: in pratica la risoluzione degli hosts elencati in /etc/hosts era lentissima. A dire il vero inizialmente davo la colpa al mio codice PHP, poi quando ho provato ad eseguire in ping da terminale ho constatato la realtà.
I primi giri su Google erano poco incoraggianti. Alcuni imputavano il problema a una configurazione IPv6 errata, altri per disperazione arrivavano ad installare dei server DNS locali per aggirare la questione. Fra l’altro quest’ultima non è un’idea fuori dal mondo, perché configurando una wildcard su un TLD di nostro gradimento (per esempio *.dev, ma non *.local perché è già riservato a Bonjour) viene meno la necessità di doversi preoccupare della risoluzione del virtual host. Ma siccome io voglio capirle le cose e non mi stava bene che il mio sistema operativo fosse allergico ad un banale elenco di coppie di indirizzi IP e stringhe, ho trovato finalmente la soluzione: si tratta di un problema di codifica del file introdotto dall’upgrade a Lion/Mountain Lion. La soluzione rapida consiste nel rimuovere il file e ricrearlo con questi elementi di base:
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost
Ora se volete aggiungere i vostri host, non metteteli tutti sulla stessa riga di 127.0.0.1, ma createne di nuove e appendetele alla fine del file (durante le mie ricerche in merito qualcuno suggeriva pure questa soluzione):
127.0.0.1 unsito.dev 127.0.0.1 altrosito.dev
Non ho aggiunto delle entry per IPv6 perché già con questa sintassi tutto era tornato a funzionare come su Snow Leopard e come su tutti i Windows e i Linux da me utilizzati.