課題
phpunitを使いテストを行う際に下記のエラーが発生。
/usr/bin/php declares an invalid value for PHP_VERSION.
This breaks fundamental functionality such as version_compare().
Please use a different PHP interpreter.
考えたこと
エラー文にて
invalid value for PHP_VERSION.
PHPのバージョンが無効な値
→phpのバージョンが原因ではないかと推測。
phpのバージョンを確認
php -v
WARNING: PHP is not recommended
PHP is included in macOS for compatibility with legacy software.
Future versions of macOS will not include PHP.
PHP 7.3.24-(to be removed in future macOS)
PHP 7.3.24は将来的にmacOSで削除されるという警告が出ます。
→phpのバージョンをアップデートすれば解消されるのではないか?
対処法
PHPのバージョンがいけなかったようなのでアップデートします。
homebrewのインストール
※すでにhomebrewをインストールしている方は飛ばしてください。
インストールする際に以下の記事を参考にさせていただきました。
php 7.4をインストール
brew search php7
インストールできるバージョンを確認
php@7.4があるので
brew install php@7.4
インストールは以上になります。
パスを通す
シェルの確認を行う
cd ~
echo $SHELL
/bin/zshと表示された場合
echo 'export PATH=/usr/local/opt/php@7.4/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
/bin/bashと表示された場合
echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
を実行しパスを反映させます。
バージョンの確認
php -v
バージョンがアップされているかどうか確認を行います。
バージョンが変わっていれば成功です。
まとめ
PHP 7.3.24に原因があると思い調査しましたが、根本的な原因を解明することはできませんでした。
おそらくですが、macOSでPHP 7.3.24を使用している場合起こるエラーになります。
PHPのバージョンの問題であると推測し、バージョンを変更することによってエラーを解決しました。
参考
https://blog-and-destroy.com/29755
https://qiita.com/kuroro_ru/items/046cba8e23d32599ee4a
https://qiita.com/zaburo/items/29fe23c1ceb6056109fd