TL;DR
- Macのローカル環境でPHPUnit走らせるぜー
- PHP Fatal error: You must enable the intl extension と怒られた
- intlモジュールはPHP5.3.0以降のPHPに同梱されているので有効化すればok
- https://www.php.net/manual/ja/intl.installation.php
- MacデフォルトのPHPではintlモジュールは有効化されていない
-
php -m|grep intl
で確認した
-
- HomebrewのPHPはintlモジュールが有効化されている状態でインストールされるとのこと。今回はこちらを使用することにした
-
brew search php
で確認。php@7.4があるのでそちらをインストールする - 余談。Homebrew版PHPのバージョン切り替えは
brew link php@7.x
でできます
-
Homebrew版PHPのインストール
インストール
brew install php@7.4
インストールしたPHPを利用可能な状態にする
- インストールしたPHPへリンクを張る
- Homebrewでインストールしたバイナリへのリンクは
brew --prefix
以下のbinディレクトリに作成されます
- Homebrewでインストールしたバイナリへのリンクは
brew link --force php@7.4
# --forceを付けないとエラーがでます
# 余談。複数PHPをインストールし、unlink→link --overwriteすると一部エラーが出ますがまだちゃんと追っていないです
- brew link時に必要に応じてPATHを通すためのコマンドを教えてくれます
- $SHELLによってbash/zsh用コマンドを出し分けているらしい?親切
If you need to have this software first in your PATH instead consider running:
echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc
確認
- PHP
% php -v
PHP 7.4.7 (cli) (built: Jun 12 2020 00:04:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.7, Copyright (c), by Zend Technologies
- intl
% php -m | grep intl
intl
めでたしめでたし