Laravel Valet 502 Bad Gate Way Nginx / 1.15.7

时间:2018-12-18 16:50:05

标签: php laravel laravel-valet

在运行laravel代客的laravel项目中,我遇到了502错误网关。

我已经在线尝试了许多解决方案,但没有成功。 (https://gist.github.com/adamwathan/6ea40e90a804ea2b3f9f24146d86ad7f

目前,我看到的错误是502错误的网关,运行代客安装时命令行中的错误是更新php配置时的错误。它给出以下错误:

警告:file_get_contents(/usr/local/etc/php/7.3/php-fpm.d/www.conf):无法打开流:/Users/username/.composer/vendor/中没有此类文件或目录第112行的laravel / valet / cli / Valet / Filesystem.php

警告:file_get_contents(/usr/local/etc/php/7.3/php-fpm.d/www.conf):无法打开流:/Users/username/.composer/vendor/中没有此类文件或目录第125行上的laravel / valet / cli / Valet / Filesystem.php

有人有类似的问题吗?

谢谢

7 个答案:

答案 0 :(得分:9)

更新到php 7.3,然后安装新的Laravel项目后,出现相同的症状。

看来brew install php73没有安装php-fpm

解决方案是卸载php

brew uninstall php73 
brew uninstall php72
brew uninstall php71 ... whatever versions you have
brew uninstall --force php

现在重新安装php

brew install php --build-from-source

我遇到了权限错误mkdir: /usr/local/etc/php/7.3/php-fpm.d: Permission denied,所以sudo chown -R: <yourusercode> /usr/local/etc/php修复了该错误,然后又brew install php --build-from-source进行了修复。构建php 7.3成功后,重新安装valet:

valet install

答案 1 :(得分:2)

以上答案均不适合我,但在此处找到了解决方案:https://janostlund.com/2019-06-20/502-bad-gateway-laravel-valet

true显示:

false

已通过在list_grade = [] list_score = [] def collect(): while True: score = input("Student's score: ") if score == "done": average(list_grade) break else: list_grade.append(float(score)) def average(list_grade): average_grade = sum(list_grade)/len(list_grade) calculate() def calculate(): for element in list_grade: if element >= 80: list_score.append("A") elif element >= 70: list_score.append("B") elif element >= 60: list_score.append("C") elif element >= 50: list_score.append("D") elif element >= 40: list_score.append("F") passer() def passer(): s_fail = 0 s_pass = 0 for element in list_score: if element == 'F': s_fail += 1 else: s_pass += 1 collect() print ("Number of students that failed: " + s_fail) print ("Number of students that passed: " + s_pass) print ("Marks: " + list_grade) print ("Letter grades: " + list_score) print ("Average class grade: " + average_grade) 的{​​{1}}中添加两行来解决

~/.config/valet/Log/nginx-error.log

然后运行[error] 17423#0: *1 upstream sent too big header while reading response header from upstream [...]

答案 2 :(得分:1)

如果像我这样的人在将502 Bad Gateway更新到最新版本后使用Laravel Valet时看到composer global update,那么您很可能忘记了运行valet install命令。 Laravel Valet在更新到最新版本后,需要(在大多数情况下)才能运行valet install命令。

答案 3 :(得分:1)

我在使用 Laravel 8 时遇到了同样的问题。Valet 和 Expose 似乎都可以工作,但网页总是给出 502 响应。

我在更新 composer 并尝试重新安装 Valet 时发现的解决方案是 Valet 不知道该使用哪个版本的 php。

要解决这个问题,请使用以下命令告诉代客使用哪个版本的 php。

valet use php@7.4

答案 4 :(得分:0)

我有同样的问题。我通过升级mariadb解决了它。 brew upgrade mariadb

答案 5 :(得分:0)

按照上面的配置,但将其放入文件中。

~/.valet/Nginx/all.conf

  fastcgi_buffers 16 16k;
  fastcgi_buffer_size 32k;

这确实在所有“我使用Valet plus”网站上都流行

答案 6 :(得分:0)

我通过以下方式解决了这个问题:

php -v
<块引用>

PHP 8.0.1 (cli)(构建时间:2021 年 1 月 8 日 09:07:02)(NTS) 版权所有 (c) PHP 集团 Zend Engine v4.0.1,版权所有 (c) Zend Technologies 使用 Zend OPcache v8.0.1,版权所有 (c),由 Zend Technologies 提供

紧随其后:

valet use php@8.0 --force
<块引用>

取消链接当前版本:php 链接新版本:php@8.0 正在更新 PHP 配置... 重启php... 正在重启 Nginx... Valet 现在使用的是 php@8.0。

Valet 似乎对它使用的 PHP 感到困惑。