【Mac+fish環境】phpbrewを使ってphp7.4をインストールする

fish
スポンサーリンク

はじめに

本記事では、mac+fishシェルの環境にphpbrewを使ってPHP7.4をインストールするまでの過程をまとめています。

PHP7.4をインストールするまで

icuパッケージがNo package foundで失敗

$ phpbrew install 7.4.1 +pdo +mysql +pgsql +mbstring +mcrypt +intl +curl +sqlite +bz2=/usr/local/opt/bzip2  +xml +opcache +bcmath +calendar +cli +ctype +dom +fileinfo +filter +ipc +json +mbregex +mhash +pcntl +pcre +pear +phar +posix +readline +sockets +tokenizer +openssl +zip -- --with-zlib-dir=/usr/local/opt/zlib
No package 'icu-uc' found
No package 'icu-io' found
No package 'icu-i18n' found

PKG_CONFIG_PATHをセット

ログに次のコマンドが書かれていたので、実行。
そうすると、pkc-configがicu4cを見つけられるようにするために、PKG_CONFIG_PATHを設定するように指示されたので~/.config/fish/config.fishにPKG_CONFIG_PATHを追加。

$ brew link icu4c --force
Warning: Refusing to link macOS-provided software: icu4c
If you need to have icu4c first in your PATH run:
  echo 'set -g fish_user_paths "/usr/local/opt/icu4c/bin" $fish_user_paths' >> ~/.config/fish/config.fish
  echo 'set -g fish_user_paths "/usr/local/opt/icu4c/sbin" $fish_user_paths' >> ~/.config/fish/config.fish

For compilers to find icu4c you may need to set:
  set -gx LDFLAGS "-L/usr/local/opt/icu4c/lib"
  set -gx CPPFLAGS "-I/usr/local/opt/icu4c/include"

For pkg-config to find icu4c you may need to set:
  set -gx PKG_CONFIG_PATH "/usr/local/opt/icu4c/lib/pkgconfig"

No package ‘libzip’ found

前述のphpbrew installを再実行すると、次はNo package ‘libzip’ foundが発生。

No package 'libzip' found

homebrewでlibzipをインストール。

$ brew install libzip
スポンサーリンク

opensslでエラー

エラーメッセージ

libzipのエラーを解消して更にインストールが進んだところで、今度はopensslのエラーが発生。

Error: Make failed:
The last 5 lines in the log file:
      _zif_openssl_x509_parse in openssl.o

      _zif_openssl_csr_sign in openssl.o

PHP7.4のインストールに成功

phpbrewでインストールするPHP7.4が、brewでインストールしたoensslを使用するように指定コマンドを変更して再度実行。

最終的に

+openssl=(brew --prefix openssl)
$ phpbrew install 7.4.1 +pdo +mysql +pgsql +mbstring +mcrypt +intl +curl +sqlite +bz2=/usr/local/opt/bzip2  +xml +opcache +bcmath +calendar +cli +ctype +dom +fileinfo +filter +ipc +json +mbregex +mhash +pcntl +pcre +pear +phar +posix +readline +sockets +tokenizer +openssl=(brew --prefix openssl) +zip -- --with-zlib-dir=/usr/local/opt/zlib