Laravel Homestead 502 Bad Gateway

时间:2019-01-27 12:38:34

标签: laravel vagrant virtualbox homestead

每次我进入项目时,都会遇到502错误的网关。刷新后,该页面将起作用。如果单击另一个页面的链接,则会再次收到502错误的网关。刷新后,页面加载。这可能是什么问题。

Homestead.yaml

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: c:/Users/MyNameHere/.ssh/id_rsa.pub

keys:
    - c:/Users/MyNameHere/.ssh/id_rsa

folders:
    - map: c:/Users/MyNameHere/Desktop/sites
      to: /home/vagrant/code

sites:
    - map: spa.test
      to: /home/vagrant/code/spa/public

databases:
    - homestead

为virtualbox和vagrant获取了最新版本。

我的spa文件夹包含最新版本的laravel。

8 个答案:

答案 0 :(得分:3)

最新版本的Homestead遇到相同的问题。

在挖掘日志文件,然后找到用于宅基地的github问题之后,我发现了这个this

xdebug有一个问题,他们正在等待修复。解决方案是禁用xdebug或使用php 7.2。我选择了后者。在这种情况下,请在homestead.yaml中进行以下更改,然后运行vagrant reload --provision将解决此问题。

sites:
- map: spa.test
  to: /home/vagrant/code/spa/public
  php: "7.2"

答案 1 :(得分:2)

我有一个类似的问题,出现502错误。刷新浏览器或重新加载虚拟机无效。

我解决了禁用Xdebug的问题。在此处找到解决方案:https://christattum.com/disabling-xdebug-in-laravel-homestead/

在提示时:

cd /etc/php/7.4/mods-available 
sudo vi xdebug.ini

;注释文件的所有行

答案 2 :(得分:2)

使用PuTTY和私钥文件登录Laravel Homestead Server。

然后...

cd /etc/php/7.4/mods-available 

sudo nano xdebug.ini

注释第一行

;zend_extension=xdebug.so
xdebug.remote_enable = 0
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
xdebug.max_nesting_level = 512

然后重新启动PHP-FPM

sudo service php7.4-fpm restart

答案 3 :(得分:0)

我遇到了同样的问题,无法更改PHP版本或禁用xdebug,但可以并且确实为Apache服务器进行了更改。

sites:
    - map: spa.test
      to: /home/vagrant/code/spa/public
      type: "apache"

答案 4 :(得分:0)

您可以更改IP地址并在主机文件中写入127.0.0.1。 您可以通过在搜索引擎中的项目名称旁边添加8000来输入它。

例如spa.test:8000,然后运行流浪者重载--provision将解决此问题。

答案 5 :(得分:0)

我花了3天的时间来解决同一问题。

我的错误是在主机文件中定义了以下内容:

127.0.0.1 spa.test

解决方案是改为添加您在Homestead.yaml中指定的IP。

192.168.10.10 spa.test
  • / etc / host (对于Mac)
  • C:\ Windows \ System32 \ drivers \ etc \ hosts (对于Windows)

即使您在全局Homestead.yaml文件中定义了多个主机,也是如此。 例如

folders:
    - map: /Users/davidecasiraghi/Projects/my_laravel_project
      to: /home/vagrant/code/my_laravel_project    
    - map: /Users/davidecasiraghi/Projects/spa
      to: /home/vagrant/code/spa  
      
sites:
    - map: my_laravel_project.test
      to: /home/vagrant/code/my_laravel_project/public
    - map: spa.test
      to: /home/vagrant/code/spa/public

然后在主机文件中:

192.168.10.10 spa.test
192.168.10.10 my_laravel_project.test

然后,当您无所事事时,您将可以访问它们两者。

答案 6 :(得分:0)

对我来说,这与 Xdebug 有关,它似乎尚不与 PHP 7.3 兼容。

要继续使用 7.3,您可以使用

关闭 Xdebug
sudo phpdismod xdebug

重启php服务

sudo service php7.3-fpm reload

答案 7 :(得分:-1)

对虚拟机中的Homestead文件运行vagrant reload --provision命令,然后在vagrant up之后输入vagrant ssh。您的问题将得到解决:)