Laravel/Valet は Mac で軽快にWebサーバーが構築できるので手軽なんですが、Valet 1.4 から 2.0 にアップグレードした時に、Web サーバーが Caddy から nginx に変更になりました。
また PHP71 にも対応しました。その時にミスったので
そこでハマったことをメモ。
【2019/2/13 更新】PHP7.3.2 Homebrew の仕様変更などに伴い、少々変更しました。
参考記事
■ Mac のミニマムな Web サーバー Valet 超簡単メモ
http://qiita.com/katzueno/items/49ca8ca2eefbe0a61b63
おそらくの原因
PHP7.1 サポートしたので、PHP7.0をアンインストールしないで PHP7.1 をインストールしてしまって混乱させてしまった。
また PHP 7.3 がリリースされたので、Brew での PHP 7.2 は php@7.2
と指定しないといけなくなり、.bash_profile などの path 指定の書き換えが必要になりました。
症状
- valet start したのに
No response
で何も反応なし (nginx が動いてない) -
sudo nginx
して起動するも502 Bad Gateway
エラーがでる
解決策
-
valet をアンインストール
valet stop
valet uninstall
- ~/.valet/ フォルダを削除
-
nginx をアンインストール
brew uninstall nginx
-
composer をアンインストール
brew uninstall composer
-
dnsmasq をアンインストール
brew uninstall dnsmasq
-
php (php71 か php70) 等をいまある PHP をアンインストール
brew uninstall php
brew uninstall php@7.0
brew uninstall php@7.1
- 他に PHP が入っていたらすべて削除
- ただし、サポート終了の PHP (7.0) 等は再インストールできなくなるので、最後の「おまけ」を御覧ください。
-
Brew の Valet & PHP 関連パッケージをひとまず綺麗さっぱりアンインストール
-
Mac を再起動。再起動時に「s」キーを押してシングルユーザーモードで起動
-
以下の手順で再設定
brew update
brew upgrade
brew install composer
brew install php
# デフォルトでは最新のPHPがインストールされるので、必要に応じて古いバージョンの PHP をインストールしてください。
brew install php@7.1
brew install php@7.2
# ここで英語のメッセージで指示された「.bash_profile」の PATH の書き換え、php サービス登録を行う
composer global require laravel/valet
valet install
cd [valet の対象ディレクトリ]
valet park
これでうまくいきました。
おまけ
PHP 5.6 や 7.0 をインストールしたい時
$ brew tap exolnet/homebrew-deprecated
$ brew install php@5.6
$ brew install php@7.0
これで、Mac に気軽なローカル環境を立てられます。