PHP 8.0.0 が2020年11月26日にリリースされて、 phpenv + php-build では2020年12月1日(多分)に PHP 8.0.0 が追加されたようなので、早速 macOS にインストールしてみた。
環境
- macOS: 11.0.1
- phpenv: v0.9.0-rc.1
- php-build: v0.11.0dev
( PHP 7.4 をインストールしたときと phpenv
と php-build
のバージョンが変わってない気がするけど、まあいいか。。)
あと、 PHP 7.4 をインストールしたときにいろいろなミドルウェアを入れたので、それらが入った状態の macOS を使っています。
はじめに実行したコマンド
phpenv を最新の状態にして、
$ phpenv update
PHP 8.0.0 をインストールしようとしたところ、いくつかのエラーが発生したので、順番にエラーを潰していった。(といっても、エラーは2つだけだったけど。)
$ phpenv install 8.0.0
bzip2
と iconv
のパスを通す
PHP 7.4 のときと同様に bzip2
と iconv
は brew
でインストールしたけど、 fish shell の設定ではうまくパスが通らなかったので、 phpenv
で install するときにパスを渡すことにした。
エラーメッセージ
bzip2
configure: WARNING: unrecognized options: --with-png-dir, --with-libxml-dir, --with-icu-dir
configure: error: Please reinstall the BZip2 distribution
iconv
configure: WARNING: unrecognized options: --with-png-dir, --with-libxml-dir, --with-icu-dir
configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
最終的なコマンド
私は fish shell を使っているので、最終的に下記のようなコマンドになった。
$ env PHP_BUILD_CONFIGURE_OPTS="--with-bz2=/usr/local/opt/bzip2 --with-iconv=/usr/local/opt/libiconv" phpenv install 8.0.0
bash であれば下記のようになると思う。
$ PHP_BUILD_CONFIGURE_OPTS="--with-bz2=/usr/local/opt/bzip2 --with-iconv=/usr/local/opt/libiconv" phpenv install 8.0.0
下記のような感じで、問題なくインストールできていることを確認した。
$ phpenv versions
system
7.1
7.1.33
7.2
7.2.34
7.3
7.3.24
* 7.4 (set by /Users/username/.anyenv/envs/phpenv/version)
7.4.12
8.0
8.0.0
$ phpenv shell 8.0
8.0
$ php -v
PHP 8.0.0 (cli) (built: Dec 2 2020 11:51:19) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
with Zend OPcache v8.0.0, Copyright (c), by Zend Technologies
with Xdebug v3.0.0, Copyright (c) 2002-2020, by Derick Rethans
まとめ
結果的に bzip2
と iconv
のパスを通すだけという、 PHP 7.4 と同じ方法でインストールすることができた。
どなたかのご参考になれば幸いです。