PHP 8.1 が2021年11月25日にリリースされました!やったね!
今日は PHP 8.1 を phpbrew でインストールしてみます。
前のバージョンはこちらでインストールしています!
良ければ参考にしてください。

この記事は、上記を行ったあとの状態からスタートしています。
環境
以下のような環境でやってます。
- Mac macOS Big Sur 11.6.1
- Homebrew 3.3.6
- phpbrew – 1.27.0
- cliframework core – 2.5.4
- PHP v8.0.3 使用中
- ビルドに必要なライブラリはインストール済み
【結論】 PHP インストールコマンド
phpbrewの最終的なインストールコマンドは以下のようになりました。
オプションは個人の環境に合わせて変えてくださいね!
phpbrew install php-8.1.0 +default +mysql +fpm +openssl=/opt/homebrew/opt/openssl@1.1 +zlib="$(brew --prefix zlib)" -- --with-external-pcre=$(brew --prefix pcre2)
PHP 8.1 インストール詳細手順
Homebrew でアップデート
Homebrewでシステムのパッケージをアップデートします。
brew update
brew upgrade
Homebrewの問題を確認してみます。
WarningやErrorが出る場合は、指示に従って修正します。
私の場合はコマンドラインツールのWarningが出ました。
brew doctor
> Warning: A newer Command Line Tools release is available.
> Update them from Software Update in System Preferences or run:
> softwareupdate --all --install --force
>
> If that doesn't show you any updates, run:
> sudo rm -rf /Library/Developer/CommandLineTools
> sudo xcode-select --install
以下のように実行して修正しました。
20分くらいかかったと思います…
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
softwareupdate --all --install --force
.zshrc / .bashrc の修正
こちらのようなCFLAGSとCXXFLAGSが設定されている場合はコメントアウトします。
新しいバージョンのPHPをインストールする際は、これらのオプションはつけなくて良いです。
# 👇は一番上にあったほうが良いです
export PATH="/opt/homebrew/bin:$PATH"
export PATH="/opt/homebrew/sbin:$PATH"
# ... 省略
# 👇のFLAGS系をコメントアウト
#export CFLAGS="-Wno-error=implicit-function-declaration -DU_DEFINE_FALSE_AND_TRUE=1"
#export CXXFLAGS="-Wno-error=implicit-function-declaration -DU_DEFINE_FALSE_AND_TRUE=1"
# ... 省略
# 👇は下にないと、HomebrewでインストールしたPHPが使用されてしまいます!
[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc
export PATH=/opt/phpbrew/bin:$PATH
export PHPBREW_SET_PROMPT=1 # ここはお好みで
export PHPBREW_RC_ENABLE=1 # ここはお好みで
export EDITOR="vim" # ここはお好みで
変更したら、ターミナルを再起動するか、sources .zshrcします。
phpbrew アップデート
phpbrew自体をアップデートして、PHPのリソースリストもアップデートします。
phpbrew self-update
phpbrew update
PHP 8.1 インストール
冒頭のインストールコマンドを実行します!
phpbrew install php-8.1.0 +default +mysql +fpm +openssl=/opt/homebrew/opt/openssl@1.1 +zlib="$(brew --prefix zlib)" -- --with-external-pcre=$(brew --prefix pcre2)
成功したときの出力
インストールに成功すると、ターミナルに以下のような出力がされると思います。
オプションがちゃんと有効になったか、ログを確認すると良いです。
===> phpbrew will now build 8.1.0
===> Loading and resolving variants...
Checking distribution checksum...
Checksum matched: 0725ed2bxxxxx
... 省略 ...
===> Configuring 8.1.0...
Use tail command to see what's going on:
$ tail -F '/Users/ xxxxxx
... 省略 ...
config-set succeeded
Enabling pear auto-discover...
config-set succeeded
Congratulations! Now you have PHP with 8.1.0 as php-8.1.0
To use the newly built PHP, try the line(s) below:
$ phpbrew use php-8.1.0
Or you can use switch command to switch your default php to php-8.1.0:
$ phpbrew switch php-8.1.0
Enjoy!
切り替えてバージョンを出力してみてください🎉
phpbrew switch php-8.1.0
php -v
遭遇したエラー
ld: can’t map file, errno=22 file ‘/opt/homebrew/lib’ for architecture arm64
PHP8.1インストール前準備を行い、
zshrcを修正したら
解消できる場合があります。
(私の場合は上記の2つでした)
おわりに
お疲れ様でした!参考になれば幸いです。
良いPHPライフを!
