2016-06-09 20 views
9

Aggiornamento: Non utilizzare ".dev". Quando è stato pubblicato originariamente nel 2016, andava bene. Ora non lo è. Inizia cambiando il tuo TLD con qualcos'altro come ".localhost" o qualsiasi altra cosa. (Questo cambiamento non avrebbe risolto il mio problema, ma potrebbe aggiustare il tuo se stai ancora utilizzando ".dev").Ping test.dev dopo l'installazione di Valavel Laravel restituisce "Host sconosciuto"

Problema: Ho installato laravel Valet e tutto sembra funzionare tranne quando ping test.dev (che contiene solo un file index.htm e si trova in ~/Sites), dopo aver appeso per lungo tempo ho la risposta ping: cannot resolve test.dev: Unknown host

Ecco quello che ho già fatto:

  • ho passato attraverso the Laravel Valet docs e tutto installato benissimo.
  • Apache non è in esecuzione
  • /etc/hosts contiene alcuna menzione di test.dev
  • Sono sul posteggiatore v1.1.12
  • ho rimesso in moto il mio computer
  • ho installato PHP 7.0.7 tramite fresca homebrew e --with-fpm
  • mio $PATH contiene $PATH:$HOME/.composer/vendor/bin
  • sudo lsof -n -i:80 | grep LISTEN restituisce il caddy proc
  • 01.235.164,106 mila
  • brew services list rendimenti dnsmasq e viene avviato
  • Ho aggiornato birra, corrono brew doctor e tutto è buono ci
  • posso iniziare e smettere di parcheggiatore con successo.
  • valet paths ritorna con successo: [ "/Users/nateritter/.valet/Sites", "/Users/nateritter/Sites" ]
  • Uso valet link all'interno della directory test non ha alcun effetto su questo tema

Ora, in aggiunta a tutto questo, ho deciso di provare tutti gli argomenti cameriere fuori. valet share sembra che si sia verificato un errore in un punto, il che è interessante ma non sono sicuro che abbia qualcosa a che fare con il problema originale.

ERROR: Tunnel 'command_line' specifies invalid address 'test.dev:80': unexpected '[' in address test.dev:80

Dopo questo ho 21 linee di Failed to connect to 127.0.0.1 port 4040: Connection refused e quindi un'eccezione:

[Httpful\Exception\ConnectionErrorException]                    
Unable to connect to "http://127.0.0.1:4040/api/tunnels": 7 Failed to connect to 127.0.0.1 port 4040: Connection refused                                

fetch-share-url 
+0

Aprire 'console' su OSX e cercare' dnsmasq'. Potrebbero esserci errori come "impossibile creare socket di ascolto per {IP}: autorizzazione negata", "non riuscita all'avvio". –

risposta

16

Il problema ha finito per essere qualcosa a che fare con dnsmasq.Utilizzando il molto approfondita this answer ad un altro post correlati SO, ho finito per fare quanto segue per risolvere il mio problema:

brew unlink dnsmasq

brew install dnsmasq

brew prune

brew services restart dnsmasq

valet install

Poi, proprio per testare prima di me un ping, ho fatto dig test.dev e la risposta incluso:

;; ANSWER SECTION: 
test.dev.  3599 IN A 127.0.53.53 

io non sono sicuro perché l'IP è 127.0.53.53 e non 127.0.0.1, ma quando ho fatto un ping test.dev ha restituito ...

PING test.dev (127.0.0.1): 56 data bytes 
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.036 ms 
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.072 ms 

Anche la navigazione su test.dev ha funzionato.

Una cosa da notare che non ho ancora esaminato è che index.htm non è riconosciuto da valet/caddy come un potenziale indice di file. Non fa parte del problema, ma qualcosa di interessante da notare.

+2

I domini interni che risolvono fino a 127.0.53.53 significa che hai una collisione di nome e ICANN sta cercando di dirti che hai urgente bisogno di correggere la tua configurazione DNS. Puoi usare 'dig -t TXT test.dev + short' per informazioni, ma probabilmente dirà bisogno di attenzione e dovresti vedere https://icann.org/namecollision –

+0

Grazie Ben. L'utilizzo del DNS di Google sul mio router o pref di rete OS X crea questo problema? Direi che non è la causa, ma forse dove sta andando a finire lo spazio dei nomi, ma non sono sicuro di dove cercare per scoprire come sta fuoriuscendo dallo spazio pubblico, in primo luogo. Qualche suggerimento su questo? –

+3

Vieni a scoprire che sta perdendo perché dovrebbe. https://iyware.com/dont-use-dev-for-development/ e https://www.iana.org/domains/root/db/dev.html indicano che ".dev" è un TLD delegato (che Google possiede). La risposta di 127.0.53.53 ha un po 'più senso dal momento che utilizzo Google per DNS anziché il mio ISP. L'avviso non è di usare i TLD '.dev' per gli ambienti dev. Invece, usa un TLD suggerito come '.localhost' (che è quello che ho cambiato da usare con' valet domain localhost'.) Voila. –

18

Ho avuto lo stesso problema, alcuni servizi BREW sono stati fermati, eseguire questo comando risolto:

sudo brew services start --all 
+1

Ho tirato fuori i miei capelli (non proprio, sono calvo) per una settimana a provare tutto! Grazie! – Chris

3

avevo impostato tutto correttamente, ma ha avuto lo stesso problema - non ha potuto ottenere l'esecuzione app.dev .

Dopo aver eseguito

brew services list 

ho notato che tutti i servizi tranne dnsmasq correvano come "root", ma dnsmasq era in esecuzione sul mio utente.

dnsmasq Arrestato con

brew services stop dnsmasq 

e ha iniziato con:

sudo brew services start dnsmasq 

Questo ha funzionato per me, dopo alcune ore di frustrazione.

+1

Grazie, questo ha risolto il mio problema – rmvz3

1

Niente di cui sopra mi ha aiutato su MacOS sierra, ma un po 'di osservazione ha fatto:

dato che io uso Google per il DNS al posto del mio ISP. L'avvertimento non è di usare i domini .dev per gli ambienti dev. Invece, utilizzare un dominio di primo livello suggerito come .localhost (che è quello che ho cambiato valletto di utilizzare a titolo di localhost dominio valletto Voila -.. Nate Ritter

Evitando '.dev' e con' .devel 'ha fatto il trucco per me, probabilmente necessaria se si è in 8.8.8.8 DNS di Google

0

per me in qualche modo un errore di sintassi nascosto nel dnsmasq.conf che impedire l'avvio correttamente.

Per controllare questo ho dnsmasq --test che ha dato il seguente risultato dnsmasq: bad option at line 1 of /usr/local/etc/dnsmasq.conf

ho fissato l'errore di battitura sulla linea 1 e ha riavviato tutti i servizi con brew services restart --all

Dopodiché, posso ping di nuovo ai domini .dev e funziona nel mio browser

ping test.dev 
PING test.dev (127.0.0.1): 56 data bytes 
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.062 ms 
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.035 ms 
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.056 ms 
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.053 ms 
--- test.dev ping statistics --- 
4 packets transmitted, 4 packets received, 0.0% packet loss 
round-trip min/avg/max/stddev = 0.035/0.051/0.062/0.010 ms 

Spero che questo possa aiutare qualcuno!

0

*.dev non funziona più poiché è un TLD reale. Quindi usa qualcos'altro come *.test o *.local.

ping dev.test 
PING dev.test (127.0.0.1): 56 data bytes 
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.051 ms 
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.149 ms 
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.137 ms 
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.133 ms 
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.138 ms 
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.166 ms 
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.142 ms 

Inoltre, non dimenticare di aggiungere http: // o https: // al dominio come http://blog.test per la prima volta quando si apre nel browser. Altrimenti andrà al tuo motore di ricerca predefinito.

+0

Questo è corretto, ma tornato in16 quando l'OP è stato pubblicato, è stato fatto. –