🐘

Macbook Pro M1 2020 を買ったので phpenv で PHP 8.0.1 をインストールする

2021/01/27に公開
2

まっさらな状態のMacに最新のPHPを入れましょう。

以下のツールについては予め導入しておきます

必要なパッケージ

brew install autoconf
brew install openssl
brew install icu4c
brew install pkg-config
brew install bzip2
brew install libiconv
brew install oniguruma
brew install tidy-html5
brew install libzip
brew install pcre2
brew install libpng
brew install libjpeg
brew install libxml2
brew install zlib
brew install libedit

インストール

PHP_BUILD_CONFIGURE_OPTS="--with-bz2=$(brew --prefix bzip2) --with-iconv=$(brew --prefix libiconv) --with-tidy=$(brew --prefix tidy-html5) --with-external-pcre=$(brew --prefix pcre2)" \
PHP_BUILD_EXTRA_MAKE_ARGUMENTS="-j$(sysctl -n hw.logicalcpu_max)" \
phpenv install --ini development 8.0.1
  • brew install <package> したもののパスの指定は brew --prefix <package> するようにします。いくつか決め打ちで書いている記事が散見されますが…
  • php.ini は開発用のものを指定しています (--ini development)

備考

躓いたところは省いてます。

余談

configure: WARNING: JIT not supported by host architecture

しょうがないね

余談2

phpenv 以外の手段を探した方がいいのでは

宣伝

PHPerKaigi 2021 に登壇予定です

https://fortee.jp/phperkaigi-2021/proposal/3ecf05a6-599a-41e6-9645-2eb016d8f429

PHPやPHPじゃない話もたくさん聞ける PHPerKaigi 2021 はチケット絶賛発売中のようです!
今年はオンライン開催、ニコニコ動画で配信です!
トーク中はバシバシ #コメントたくさん 流しましょう!!

https://twitter.com/phperkaigi/status/1351449587425267717


追記 (2021-08-01 20:24:00)

先日、社のメンバーが phpenv install をしたら躓いていたので本記事を共有しました
が、ごく一般的に必要な拡張が足りてないのでそのままだと使い物にならなかったので、備考的に追記します

例えば PostgreSQL が必要な場合は

brew install postgresql

して PHP_BUILD_CONFIGURE_OPTS に以下を追加します

--with-pdo-pgsql=$(brew --prefix postgresql)"

MySQL の場合も同じようにすればOKかと

Discussion

chatiichatii

自信ないんですが
PHP_BUILD_EXTRA_MAKE_ARGUMENTS="-j$(sysctl -n hw.logicalcpu_max)"
これって論理コア数でいいんですかね?