Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
代客泊车(Laravel):找不到DNS地址_Laravel_Laravel Valet - Fatal编程技术网

代客泊车(Laravel):找不到DNS地址

代客泊车(Laravel):找不到DNS地址,laravel,laravel-valet,Laravel,Laravel Valet,我在试一下贴身男仆,据我所知,它看起来真的很不错 我已经经历了整个安装过程,代客泊车成功安装 但是当我将cd放入我的项目文件并输入valet park并浏览到http://blog.dev,我得到“找不到blog.dev的DNS服务器地址。” 我不知道我做错了什么。:) 运行“代客泊车安装”时,它会尝试安装dnsmasq。它需要sudo特权 您可以使用检查它是否已安装并正在运行 brew services list 你应该看到类似的东西 dnsmasq started root /Librar

我在试一下贴身男仆,据我所知,它看起来真的很不错

我已经经历了整个安装过程,代客泊车成功安装

但是当我将
cd
放入我的项目文件并输入
valet park
并浏览到
http://blog.dev
,我得到“找不到blog.dev的DNS服务器地址。”


我不知道我做错了什么。:)

运行“代客泊车安装”时,它会尝试安装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,需要告诉它这样做。代客泊车员也会为您处理这件事,但您可以通过执行以下操作来检查它是否完成了工作

brew uninstall homebrew/php/php70
brew install homebrew/php/php70 --with-fpm
valet restart
在目录
/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 anything.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)
在下面的示例中,您可能会看到其他Web服务器,例如Apache或Nginx(及其子进程,
\u 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
启动代客泊车,它将正常工作

您可能会得到一个进一步的错误,这是由于安装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

我也遇到了同样的问题——被ping foobar.dev卡住了——并通过重启我的Macbook(在代客安装后)修复了这个问题。我相信这不是一个精确的解决方案,我认为有一种方法可以做到这一点,而无需重新启动。然而,这对我很有效。我不必做任何其他步骤


[编辑-此外,在重新启动之前,我确保尝试使用fpm提示进行安装,并在安装php70时遵循brew的所有建议(调整路径,确保php70在系统启动时启动。我不能说这些事情是否有帮助,所以可能希望首先尝试重新启动。如果确实需要重新启动,或者需要其他步骤来正确启动服务,我认为laravel文档可能需要一些澄清。]

我也遇到了同样的问题,安装后我被困在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
运行
代客泊车安装


成功Ping到foo.dev

如果您是Windows用户, 执行丙烯酸配置,然后重新启动适配器(禁用和启用)


为我工作

为什么浏览到
http://blog.dev
?您是否一步一步地学习了本教程?当您运行
代客安装
时,它是否成功地安装了dnsmasq?运行
brew服务列表
,并确保dnsmasq在那里并且正在运行。如果是,请运行
代客启动
,并确认它正在运行。接下来确保t您没有在端口80上运行另一个Apache或Nginx安装。另外,请确保您正在使用FPM运行PHP;您可能需要运行
brew卸载php70;brew安装php70——使用FPM
@Lashane Valet maps
{dir name}.dev
使用dnsmasq来
{parking dir}/{dir name}
自动。@sseraluck此外,您可以通过在终端中ping blog.dev来排除dnsmasq问题。如果它收到127.0.0.1的响应,它可能会工作,并且您可能会发现您只是有另一个web服务器响应而不是Caddy。OSX安装了Apache,因此可能首先尝试使用
sudo apachectl stop
并重新启动ValetI在我运行“ping anything.dev”的地方卡住了.
ping:无法解决任何问题。dev:Unknown host
Give
valet install
现在您已经确保了dnsmasq的存在。可能还值得先运行
brew update
brew doctor
,以确保您的自制安装符合预期。我遇到了完全相同的问题,就像t他的答案,但它还没有解决我的问题。当我
ping test.dev
时,响应是
ping:cannot resolve test.dev:Unknown host
…也就是说,我注意到这个答案缺少的一点是