我正在尝试代客,从我听到的内容看起来真的很棒。
我已经完成了“整个”安装过程,Valet已经成功安装。
但当我cd
进入我的项目文件并输入valet park
并浏览到http://blog.dev
时,我得到“无法找到blog.dev的DNS服务器地址。”
我不知道我做错了什么。 :)
答案 0 :(得分:28)
当您运行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,需要告知它这样做。代客也会为您处理此问题,但您可以通过执行以下操作来检查是否已完成此工作。
在目录/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
如果这一切都有效,你应该可以ping any.dev
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相关的问题,但是因为这是你需要尝试的所有内容,我将在下面留下。也就是说,如果您无法ping something.dev或收到“无法找到blog.dev的DNS服务器地址”这样的错误。根据OP,它与DNS有关,需要解决。
由于Caddy在端口80上提供网站服务,因此您需要确保端口80上没有其他任何内容正在运行。
sudo lsof -n -i:80 | grep LISTEN
理想情况下,如果代客按预期运行,则应返回球童。你想看到下面的例子,或者没有理想的东西;什么都没有,因为这意味着我们可以开始代客。
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,您可以运行以下命令来阻止它。
brew services stop nginx
OSX附带Apache安装,因此如果正在运行,您可以停止使用以下内容。
sudo apachectl stop
此时您可以使用valet start
启动代客并且它可以正常工作。
如果没有FPM安装PHP,可能会导致进一步的错误。您可以使用
进行检查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
答案 1 :(得分:1)
我有同样的问题 - 卡在ping foobar.dev - 并通过重新启动我的Macbook(在代客安装后)修复它。我确信这不是一个确切的解决方案,我认为有一种方法可以在不重新启动的情况下执行此操作。然而,它对我有用。我没有做任何其他步骤。
[编辑 - 此外,在重新启动之前,我确保尝试使用fpm提示安装,并在安装php70时遵循所有brew的建议(调整路径,确保php70在系统启动时启动。我不能说这些是否有帮助,所以可能想尝试重新启动,首先。如果它只是需要重新启动,或者正确启动服务的其他一些步骤,我认为laravel文档可能需要一些澄清。]
答案 2 :(得分:0)
我遇到了同样的问题,安装后我遇到了ping 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
。
成功ping到foo.dev
答案 3 :(得分:0)
如果您是Windows用户, 执行Acrylic配置,然后重新启动适配器(禁用和启用)
http://mayakron.altervista.org/wikibase/show.php?id=AcrylicWindows10Configuration
为我工作