【Mac】Homebrewでphp7.4のアップグレード後にPATHを通しても「command not found: php」が出てきたときにやったこと

Homebrewで「brew upgrade」を打ったあとに頭を抱えているみなさまこんにちは。今日はphpについてです。

目次

アップグレードしたら「command not found: php」が出るようになった時の解決方法

「たまにはアップグレードしておかないとね」とbrew upgradeを打ったあと、さていつもの作業をしようかと思ったら

zsh: command not found: php

が出てきて、Laravel動かなかったりなんだりして大慌てになった人、少なくないんじゃないでしょうか。

普通はPATH(パス)を通せば終わり

で、「command not found: php」で検索するとほぼすべてのブログで「PATHを通せ」という指示があると思います。

ターミナルを起動して

brew --prefix php@7.4

と打ってphp@7.4が格納されている場所を探して、仮に「/usr/local/opt/php@7.4」と出てきた場合は

vim ~/.zshrc

で.zshrcファイルを開き、キーボードの「i」を押して入力モードに切り替えて

export PATH="/usr/local/opt/php@7.4/bin:$PATH"
export PATH="/usr/local/opt/php@7.4/sbin:$PATH"

と打ち込んで、escキーを押して入力モードを抜け出したあとに「:wq」と打ってエンターキーを押して

source ~/.zshrc

で入力したPATHを反映させるという一連の作業を行えば…

php -v

でphpのバージョンが表示されてめでたくphpが再び使えるようになるはずです。

PATH(パス)を通しても解決しないときは再起動で解決

普通は↑の作業で解決するはずなんですが、たまに「PATHを通したのにエラーが出る!」という方がいらっしゃいます。まあ自分なんですけれども。結構焦りますよね。

「検索したときに出てくる解決方法を片っ端からやって解決しないときは再インストールするに限る」ということで、ターミナルで

brew reinstall php@7.4

と打って再インストールしてみたところ、インストール完了後にこのような注意書きが出てきました。

If you need to have php@7.4 first in your PATH, run:
echo ‘export PATH=”/usr/local/opt/php@7.4/bin:$PATH”‘ >> ~/.zshrc
echo ‘export PATH=”/usr/local/opt/php@7.4/sbin:$PATH”‘ >> ~/.zshrc

For compilers to find php@7.4 you may need to set:
export LDFLAGS=”-L/usr/local/opt/php@7.4/lib”
export CPPFLAGS=”-I/usr/local/opt/php@7.4/include”

To restart php@7.4 after an upgrade:
brew services restart php@7.4

1段落目のexport PATH…の部分はあちこちのブログで書かれている「パスを通す」作業なので今回は無視して、注目すべきは一番最後にある2行です。

To restart php@7.4 after an upgrade:
brew services restart php@7.4

アップグレードしたあとの再起動方法が書いてあります。

と、いうわけでターミナルを起動して

brew services restart php@7.4

を叩くと…

phpが再起動したようなので「php -v」で確認。

これで無事phpが使えるようになりました!

Homebrewがらみで困ったときは再インストールして、公式の指示を確認するのが一番手っ取り早いですね。上記の通りPATHを通すためのコマンドも出てくるので、思い出す必要がありません。

関連記事

年収アッププログラミング 【Firestore v9】dateフォームの値を入れるとtimestamp型ではなくstring型と判断されてしまう問題の解決方法

【Firestore v9】dateフォームの値を入れるとtimestamp型ではなくstring型と判断されてしまう問題の解決方法

最近Firebaseを使って簡単なウェブアプリを作るのにチャレンジしたのですが、Firestoreのtimestamp型に癖があって苦労しました。 特に困ったのがdateフォームからのデータを入力するときで、そのまま値を入れたらstring型と判断されて「あれ?」となりま...

年収アッププログラミング

【WordPress】SyntaxHighlighter Evolvedが動かないときに確認すべき2つのこと

プログラム関連の記事を書くときに必須と言っていいプラグインである「SyntaxHighlighter Evolved」。当ブログもお世話になっていて、友人周りにもおすすめしています。 ですが、たまに「コードがハイライトされない」という相談を受けることがあります。インストー...

年収アッププログラミング

【MySQL】AUTO_INCREMENTとPRIMARY KEYを同時に設定する方法

CREATE TABLE時にidへAUTO_INCREMENTとPRIMARY KEYを設定するのは定番だと思うのですが、最近はフレームワークを使ってテーブルを作るため、いざSQLを書いて作ろうとすると忘れがち。 今回は自分の名前とメールアドレスを格納するuser...