はじめに
PHP(Laravel)で自分の環境と開発環境のバージョンが違うのが原因で、本番環境でデプロイする際にエラーが出てしまい、原因解明に時間がかかってしまいました。
そこで今回はターミナルだけでPHPのバージョンを変更できる方法をご紹介します。
下準備
①ターミナルを立ち上げ以下のコマンドを打つ
php -v
こんな風に返ってきます。PHPのバージョンは7.4です。
PHP 7.4.30 (cli) (built: Jun 9 2022 09:31:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.30, Copyright (c), by Zend
Technologies
②Homebrewを更新
brew update
※Homebrewの更新はとても時間がかかるのと、完了後PHPのバージョンが変更されている可能性があるので注意
③インストールできるPHPのバージョンを確認
brew search php
インストール可能はPHPのバージョンが表示されます。
✓は現在インストール(使用)されているPHPのバージョンです。
brew-php-switcher php@7.2 phplint pcp
php php@7.3 phpmd pup
php-code-sniffer php@7.4 ✔ phpmyadmin ✔
php-cs-fixer php@8.0 phpstan
php-cs-fixer@2 phpbrew phpunit
バージョン切り替えを行う
①切り替えたいバージョンのPHPをインストール
※下準備②でHomebrewの更新をしたときに変更されたバージョンから元のバージョンに戻すだけであればこの作業は不要です。
brew install php@バージョンの数字
※今回必要だった7.2は以下のようなエラーが返ってくるので、
Error: php@7.2 has been disabled because it is deprecated upstream!
別のコマンドでインストール
brew install shivammathur/php/php@7.2
こちらのGitHubを利用させて頂きました。
②現在設定されているバージョンのシンボリックリンクを外す
必ずバージョン指定をすること
brew unlink php@バージョン
③設定したいバージョンのシンボリックリンクを通す
brew link php@バージョン
上記②③の作業の間は必ずバージョン確認(php -v)を行うこと!
バージョン切り替えをもとに戻す
基本はバージョン切り替えを行うの②③で逆のバージョンを指定するだけです。
例:PHP7.2→PHP7.4にする場合
①
brew unlink php@7.2
②
brew link php@7.4
例の場合、php -v
でバージョンが7.4に戻っているか確認すること