Laravel 项目不会通过 Homestead 提供给定的 ip
Laravel project wont serve to given ip via Homestead
我在 mac 上设置 laravel 项目时遇到问题。我已经(据我所知)在我的 Homestead 目录中正确设置了 homestead.yaml 配置:
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Documents/GitHub/project-darwin
to: /home/vagrant/code
sites:
- map: homestead.test
to: /home/vagrant/code/public
php: "7.2"
databases:
- homestead
在我使用 vagrant up
之后,在使用 vagrant ssh
时,我可以在 vagrant/code/project-darwin
.
中看到我的项目
我的hosts文件如下:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
192.168.10.10 homestead.test
这看起来是正确的,因为与我在 virtualbox 上 运行 其他 laravel 项目时通常所做的没有什么不同,但是在转到我的 url 时,我收到 500 错误如果我直接访问 ip (198.168.10.10),这同样适用。
我发现另一件可疑的事情如下。当我使用 vagrant up
时,这是我终端中显示的部分内容:
homestead-7: Waiting for machine to boot. This may take a few minutes...
homestead-7: SSH address: 127.0.0.1:2222
homestead-7: SSH username: vagrant
这个ip应该和我提供的ip一样吗?无论如何,我 运行 不知道如何解决这个问题,有什么建议吗?
原来我的 mac 已经自动选择了。当我 运行 vagrant box add laravel/homestead
时,hyperv 作为我的提供者,哦好吧..
在您的 Homestead.yaml 配置文件中,您正在执行以下操作:
制作共享文件夹映射 project-darwin 到 /home/vagrant/code
folders:
- map: ~/Documents/GitHub/project-darwin
to: /home/vagrant/code
但是在站点下,您正在将文件夹 /home/vagrant/code/public 映射到 homestead.test,这意味着当您请求 homestead.test 或您的 Vagrant Box 的 IP 时,您不是调用 project-darwin 而是调用 "empty" public 文件夹。
sites:
- map: homestead.test
to: /home/vagrant/code/public
我建议将您的代码移动到 public 文件夹或将网站映射到您想要的目的地。
希望这对您有所帮助 :)
我在 mac 上设置 laravel 项目时遇到问题。我已经(据我所知)在我的 Homestead 目录中正确设置了 homestead.yaml 配置:
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Documents/GitHub/project-darwin
to: /home/vagrant/code
sites:
- map: homestead.test
to: /home/vagrant/code/public
php: "7.2"
databases:
- homestead
在我使用 vagrant up
之后,在使用 vagrant ssh
时,我可以在 vagrant/code/project-darwin
.
我的hosts文件如下:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
192.168.10.10 homestead.test
这看起来是正确的,因为与我在 virtualbox 上 运行 其他 laravel 项目时通常所做的没有什么不同,但是在转到我的 url 时,我收到 500 错误如果我直接访问 ip (198.168.10.10),这同样适用。
我发现另一件可疑的事情如下。当我使用 vagrant up
时,这是我终端中显示的部分内容:
homestead-7: Waiting for machine to boot. This may take a few minutes...
homestead-7: SSH address: 127.0.0.1:2222
homestead-7: SSH username: vagrant
这个ip应该和我提供的ip一样吗?无论如何,我 运行 不知道如何解决这个问题,有什么建议吗?
原来我的 mac 已经自动选择了。当我 运行 vagrant box add laravel/homestead
时,hyperv 作为我的提供者,哦好吧..
在您的 Homestead.yaml 配置文件中,您正在执行以下操作:
制作共享文件夹映射 project-darwin 到 /home/vagrant/code
folders:
- map: ~/Documents/GitHub/project-darwin
to: /home/vagrant/code
但是在站点下,您正在将文件夹 /home/vagrant/code/public 映射到 homestead.test,这意味着当您请求 homestead.test 或您的 Vagrant Box 的 IP 时,您不是调用 project-darwin 而是调用 "empty" public 文件夹。
sites:
- map: homestead.test
to: /home/vagrant/code/public
我建议将您的代码移动到 public 文件夹或将网站映射到您想要的目的地。
希望这对您有所帮助 :)