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 文件夹或将网站映射到您想要的目的地。

希望这对您有所帮助 :)