Я получаю 502 Bad Gateway в моих проектах laravel, работающих под управлением laravel valet.
Я пробовал много решений в Интернете, но безуспешно. (https://gist.github.com/adamwathan/6ea40e90a804ea2b3f9f24146d86ad7f)
На данный момент я вижу ошибку 502, плохой шлюз, и ошибка в моей командной строке при запуске valet install - это ошибка, когда она попадает в обновленную конфигурацию php. Выдает следующую ошибку:
Предупреждение: file_get_contents (/usr/local/etc/php/7.3/php-fpm.d/www.conf): не удалось открыть поток: нет такого файла или каталога в /Users/username/.composer/vendor/laravel/valet /cli/Valet/Filesystem.php в строке 112
Предупреждение: file_get_contents (/usr/local/etc/php/7.3/php-fpm.d/www.conf): не удалось открыть поток: нет такого файла или каталога в /Users/username/.composer/vendor/laravel/valet /cli/Valet/Filesystem.php в строке 125
У кого-нибудь были подобные проблемы?
Спасибо
Были те же симптомы после обновления до 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
Если вы не хотите переходить на старую версию, то вам подойдет и 7.4!
Если вы, как и я, видите 502 Bad Gateway
при использовании Laravel Valet после обновления его composer global update
до последней версии, вы, скорее всего, забыли запустить команду valet install
. Laravel Valet требует, чтобы (в большинстве случаев) запускал команду valet install
после обновления до последней версии.
Это фактический ответ на вопрос пользователя выше, и это гораздо лучший первый шаг в диагностике этой проблемы, чем принятый ответ, который работает из-за последнего шага в процессе.
У меня такая же проблема. Решил обновлением mariadb. brew upgrade mariadb
Ни один из приведенных выше ответов не помог мне, но нашел решение здесь: https://janostlund.com/2019-06-20/502-bad-gateway-laravel-valet
~/.config/valet/Log/nginx-error.log
показывает:
[error] 17423#0: *1 upstream sent too big header while reading response header from upstream [...]
Решается добавлением двух строк к http
в /usr/local/etc/nginx/nginx.conf
http {
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
//...
}
а затем запускаем valet restart
Следуя приведенной выше конфигурации, но поместите ее в файл.
~/.valet/Nginx/all.conf
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
Это появилось на всех сайтах "Im use Valet plus"
Я столкнулся с той же проблемой с Laravel 8. И Valet, и Expose вроде работали, но веб-страница всегда давала ответ 502.
Когда я обновил composer и попытался переустановить Valet, я нашел решение, что Valet не знал, какую версию php использовать.
Чтобы исправить это, используйте следующую команду, чтобы сообщить камердинеру, какую версию php использовать.
valet use [email protected]
Я решил это, выполнив:
php -v
PHP 8.0.1 (cli) (built: Jan 8 2021 09:07:02) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.1, Copyright (c) Zend Technologies with Zend OPcache v8.0.1, Copyright (c), by Zend Technologies
с последующим:
valet use [email protected] --force
Unlinking current version: php Linking new version: [email protected] Updating PHP configuration... Restarting php... Restarting nginx... Valet is now using [email protected].
Казалось, Валет не понимает, какой PHP он использует.
Это исправило это для меня.
в большинстве случаев запуск valet install
решит проблему.
Это правильно, однако вместо этого мы просто установили [email protected], и он сработал.