web-dev-qa-db-ja.com

Valet(Laravel):DNSアドレスが見つかりません

私はバレットを試しています、それは私が聞いたものから本当に素晴らしく見えます。

私は「全体」のインストールプロセスを経てきましたが、Valetは正常にインストールされました。

しかし、プロジェクトファイルにcdを入力してvalet parkと入力し、http://blog.devを参照すると、「blog.devのDNSサーバーアドレスが見つかりません」というメッセージが表示されます。

何が間違っているのかわかりません。 :)

9
sseraluck

valet installを実行すると、dnsmasqのインストールが試行されます。 Sudo権限が必要です。

を使用してインストールおよび実行されていることを確認できます

brew services list

あなたは次のようなものを見るはずです

dnsmasq started root /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

ただし、最初にbrew/servicesをタップする必要がある場合があります

brew tap homebrew/services

そこにない場合は、実行します

brew install dnsmasq
brew services start dnsmasq

もう一度valet installを実行してdnsmasqを設定し、エラーに注意してください。これが行うべきことは、/ usr/local/etc /dnsmasq.confの下部に次のような行を追加することです。

conf-file=/Users/{YOURUSER}/.valet/dnsmasq.conf

/Users/{YOURUSER}/.valet/dnsmasq.confには、

address=/.dev/127.0.0.1

DNSサーバーがリクエストに応答していることを確認します

Dig testing.dev @127.0.0.1

次のような応答が表示されます

;; ANSWER SECTION:
testing.dev. 0 IN   A   127.0.0.1

MacがローカルDNSサーバーを使用して* .devを解決する必要があることを実際に確認するには、そうするように指示する必要があります。 Valetもこれを処理しますが、次の手順を実行することで、それが完了したかどうかを確認できます。

ディレクトリ/etc/resolver内に、次の内容のdevというタイトルのファイルがあります。

nameserver 127.0.0.1

これにより、*。dev用のカスタムDNSリゾルバーが作成され、すべての要求がローカルDNSサーバーに向けられます。

次のいずれかのコマンドを使用してdnsmasqを再起動してから、再試行してください。

// this
brew services restart dnsmasq

// or this
Sudo launchctl stop homebrew.mxcl.dnsmasq
Sudo launchctl start homebrew.mxcl.dnsmasq

これがすべて機能している場合は、anything.devにpingを実行できるはずです。

ping anything.dev

PING anything.dev (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.039 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.081 ms

これにより、DNS関連のビットが機能していることが保証されます。


最終的に質問はDNS関連の問題に関するものですが、これはあなたが試す必要のあるすべてのものとして始まったので、これを以下に残しておきます。とはいえ、something.devにpingを送信できない場合、または「blog.devのDNSサーバーアドレスが見つかりません。」のようなエラーOPによると、これは解決が必要なDNSと関係があります。

Caddyはポート80でWebサイトにサービスを提供するため、ポート80で他に何も実行されていないことを確認する必要があります。

Sudo lsof -n -i:80 | grep LISTEN

理想的には、バレットが期待どおりに実行されている場合、これはキャディを返すはずです。以下の例を見たいか、理想的には何も見たくないでしょう。 Valetを開始できるという意味なので何もありません。

caddy     76234 root    3u  IPv6 0x4f871f962e84fa95      0t0  TCP *:http (LISTEN)

以下の例では、ApacheやNginx(およびそれらの子プロセス_wwwnobody)などの他のWebサーバーが表示される場合があります。

httpd       79     root    4u  IPv6 0xf4641199930063c5      0t0  TCP *:http (LISTEN)
httpd      239     _www    4u  IPv6 0xf4641199930063c5      0t0  TCP *:http (LISTEN)
nginx     4837     root    6u  IPv4 0xf4641199a4e8e915      0t0  TCP 127.0.0.1:http (LISTEN)
nginx     4838   nobody    6u  IPv4 0xf4641199a4e8e915      0t0  TCP 127.0.0.1:http (LISTEN)

Nginxをhomebrewと一緒にインストールしたと仮定すると、以下を実行して停止できます。

brew services stop nginx

OSXにはApacheがインストールされた状態で出荷されるため、実行中の場合は次の手順で停止できます。

Sudo apachectl stop

この時点で、Valetをvalet startで開始でき、機能します。

PHP FPMなしでインストールされているために発生するさらなるエラーが発生する可能性があります。これを使用して確認できます

brew info php70 | grep php70-fpm

の線に沿って何かを生み出すはずです

制御スクリプトは/ usr/local/opt/php70/sbin/php70-fpmにあります。

インストールされていないように見える場合は、以下を使用してください。

brew uninstall homebrew/php/php70
brew install homebrew/php/php70 --with-fpm
valet restart
28
Ben Swinburne

Windowsユーザーの場合は、アクリル構成を実行してから、アダプターを再起動します(無効および有効)

http://mayakron.altervista.org/wikibase/show.php?id=AcrylicWindows10Configuration

私のために働いた

1
Malico

私は同じ問題を抱えていました-foobar.devのpingでスタックします-そしてMacbookを再起動することでそれを修正しました(valetのインストール後)。これは正確な解決策ではないと確信しており、再起動せずにこれを行う方法があると思います。それでも、それは私のために働いた。他の手順を実行する必要はありませんでした。

[編集-さらに、再起動する前に、fpmのヒントを使用してインストールを試み、php70のインストール時にすべてのbrewの提案に従うようにしました(パスを微調整し、システムの起動時にphp70が起動することを確認します。これらのことが役に立ったかどうかはわかりません。おそらく最初に再起動するだけで試してみたいと思います。本当に必要なのは再起動だけ、またはサービスを適切に開始するためのその他の追加手順である場合、laravelドキュメントにはおそらく説明が必要です。]

1
FQuist

同じ問題が発生しました。インストール後、foo.devへのpingでスタックしました。

実行中のサービスを確認しました。

> brew services list

Name    Status  User Plist
dnsmasq stopped
nginx   stopped
php71   stopped

3つのサービスすべてを手動で開始しました

> brew services start dnsmasq
> brew services start nginx
> brew services start php71

ランvalet install

foo.devに正常にpingします

0
Nishanth KD