概要
タイトル通り。PHP環境セットアップは初めてで少し手間取った。
手順
多言語でも使うことが多いライブラリ等をインストール。
% brew install bzip2 zlib libzip curl libxml2
phpbrew自体のインストールはphpbrew READMEの通り。
その後、fpmやpgsqlなどのvariantsを指定して7.3.16をインストール。
# 個別のbrew prefix指定でなく事前指定も可能 (=> phpbrew README)
# pgsqlの指定例: +pgsql=/Applications/Postgres.app/Contents/Versions/latest
% phpbrew install --stdout 7.3.16 +default +fpm +curl=$(brew --prefix curl) +openssl=$(brew --prefix openssl) +pdo +bz2=$(brew --prefix bzip2) +zlib=$(brew --prefix zlib) +xml=$(brew --prefix libxml2) +pgsql=<PostgreSQL root directory>
# pgsqlの指定例: +pgsql=/Applications/Postgres.app/Contents/Versions/latest
% phpbrew install --stdout 7.3.16 +default +fpm +curl=$(brew --prefix curl) +openssl=$(brew --prefix openssl) +pdo +bz2=$(brew --prefix bzip2) +zlib=$(brew --prefix zlib) +xml=$(brew --prefix libxml2) +pgsql=<PostgreSQL root directory>
インストールされたことを確認。
% phpbrew switch php-7.3.16
% phpbrew list
* php-7.3.16
% php -m | grep -E '(pgsql|xml|bz|zlib|curl|ssl)'
bz2
curl
libxml
openssl
pdo_pgsql
pgsql
xml
xmlreader
xmlwriter
zlib
php-fpmを起動・停止。
% phpbrew fpm start
Starting php-fpm...
[10-Apr-2020 20:40:06] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
[10-Apr-2020 20:40:06] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
% phpbrew fpm stop
Stopping php-fpm...
所感
当初、variantsではなくインストール後にpgsql拡張のインストールができるのかと試したができなかった。PHPそのもののビルド時に必要なのだろうか。PHP全然分からないが、必要なものはインストールできている筈。