LoginSignup
21
16

More than 3 years have passed since last update.

macOS に phpenv で PHP 8.0 をインストールする

Last updated at Posted at 2020-12-02

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 をインストールしたときphpenvphp-build のバージョンが変わってない気がするけど、まあいいか。。)

あと、 PHP 7.4 をインストールしたときにいろいろなミドルウェアを入れたので、それらが入った状態の macOS を使っています。

はじめに実行したコマンド

phpenv を最新の状態にして、

$ phpenv update

PHP 8.0.0 をインストールしようとしたところ、いくつかのエラーが発生したので、順番にエラーを潰していった。(といっても、エラーは2つだけだったけど。)

$ phpenv install 8.0.0

bzip2iconv のパスを通す

PHP 7.4 のときと同様に bzip2iconvbrew でインストールしたけど、 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

まとめ

結果的に bzip2iconv のパスを通すだけという、 PHP 7.4 と同じ方法でインストールすることができた。

どなたかのご参考になれば幸いです。

21
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
16