Валет (Laravel): DNS-адрес не может быть найден

Я пробую Valet, это выглядит очень хорошо из того, что я слышал.

Я прошел "весь" процесс установки, Valet успешно установлен.

Но когда я cd в файл моих проектов и введите valet park и перейдите к http://blog.dev, Я получаю "Адрес DNS-сервера blog.dev не может быть найден".

Понятия не имею, что я делаю не так.:)

4 ответа

Когда ты бежишь 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/ndomYOURUSER‹/.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 знает, что он должен разрешить *.dev с помощью вашего локального DNS-сервера, ему нужно сделать это. Валет также справляется с этим, но вы можете проверить, выполнено ли это, выполнив следующие действия.

Внутри каталога /etc/resolver должен быть файл под названием dev со следующим содержанием

nameserver 127.0.0.1

Это создаст пользовательский преобразователь DNS для *.dev и направит все запросы на ваш локальный DNS-сервер.

Перезапустите dnsmasq с помощью одной из следующих команд, а затем повторите попытку.

// this
brew services restart dnsmasq

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

Если все это работает, вы должны иметь возможность пинговать что угодно.

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, но так как все началось с того, что здесь есть все, что вам нужно было попробовать, я оставлю это ниже. Тем не менее, если вы не можете пропинговать что-то.dev или получить сообщение об ошибке "Не удается найти адрес DNS-сервера blog.dev". согласно OP, это что-то выше, что связано с DNS, который требует разрешения.

Поскольку Caddy обслуживает веб-сайты через порт 80, необходимо убедиться, что на порте 80 больше ничего не работает.

sudo lsof -n -i:80 | grep LISTEN

В идеале это должно вернуть Caddy, если камердинер работает, как ожидалось. Вы хотите увидеть пример ниже или ничего в идеале; ничего, потому что это означает, что мы можем просто запустить Valet.

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

Вы можете увидеть другие веб-серверы, такие как Apache или Nginx (и их дочерние процессы, _www а также nobody) в примере ниже.

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

У меня была такая же проблема, после установки я застрял при пинге foo.dev.

Я проверил на работающие службы.

> brew services list

Name    Status  User Plist
dnsmasq stopped
nginx   stopped
php71   stopped

Запустил все три службы вручную с

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

Ран valet install,

Пинг успешно до foo.dev

У меня была та же проблема - застрял в ping foobar.dev - и исправил ее, перезапустив мой Macbook (после установки камердинера). Я уверен, что это не точное решение, и я считаю, что есть способ сделать это без перезагрузки. Тем не менее, это сработало для меня. Мне не нужно было делать никаких других шагов.

[Править - Кроме того, перед перезапуском я обязательно попробовал установку с помощью fpm tip и следовал всем советам brew после установки php70 (настройка пути, проверка запуска php70 при запуске системы. Я не могу сказать, помогли ли эти вещи, так что, вероятно, сначала попробуйте перезапустить. Если требуется просто перезапуск или какой-то другой дополнительный шаг для правильного запуска служб, я думаю, что документация laravel, вероятно, нуждается в некотором пояснении.]

Если вы пользователь Windows, выполните настройку Acrylic, затем перезапустите адаптер (отключите и включите)

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

Работал для меня

Другие вопросы по тегам