--- Title: 'Macにphp-buildでPHP環境を作る手順 #mac #php' Keywords: - mac - php Author: hiro_y Web: 'https://mimemo.io/m/xn7vg4W3J4Aa1qN' --- phpenvに頼らずにphp-build単体でがんばる場合に。 必要なライブラリー関連はhomebrewで入れる。 1. 忘れずに: `xcode-select --install` - `libz`が足りないとか言われるのはこれが原因 1. 入ってるかもだけど一応: `brew install autoconf automake bison re2c libjpeg libpng libmcrypt libxml2 igbinary imagemagick` 1. ひょっとして: `brew link --force bison libxml2` 1. ~~brew install php-build --HEAD~~ - ~~gitで入れてもよいけど、そこは好みで。~~ - ~~homebrewで入れるなら`--HEAD`つけないと新しいバージョンが入らない~~ - homebrew/phpがdeprecatedになってphp-buildがhomebrewで入れられなくなったので、この方法はもう使えない 1. php-buildのインストール - 参照: https://github.com/php-build/php-build#as-standalone-php-build - `git clone git://github.com/php-build/php-build.git` - cloneしたディレクトリーに移動して`./install.sh`を実行 - `/usr/local`にcloneしたphp-buildの中身をコピーしてくれる 1. `vim /usr/local/share/php-build/default_configure_options` - 追記: `--with-pdo-pgsql` 1. `vim /usr/local/share/php-build/extension/definition` - CSVファイル。 - PECL::redis入れるには以下を追記: `"redis","http://pecl.php.net/get/redis-$version.tgz","https://github.com/phpredis/phpredis.git",,,"extension",` - 必要があってPECL::apcu_bc入れるには以下を追記: `"apcu_bc","http://pecl.php.net/get/apcu_bc-$version.tgz","https://github.com/krakjoe/apcu-bc.git",,,"extension",` 1. まだディレクトリー作ってなかったら: `mkdir -p ~/.php/versions` 1. `php-build --definitions` で導入可能なパッケージ確認 1. ビルド例 - PHP72: `PHP_BUILD_INSTALL_EXTENSION="apcu=@ redis=@ memcached=@ imagick=@" PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j2 php-build -i development {,~/.php/versions/}7.2.6` - PHP70: `PHP_BUILD_INSTALL_EXTENSION="apcu=@ redis=@ memcached=@ imagick=@" PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j2 php-build -i development {,~/.php/versions/}7.0.17` - PHP56(memcached 2系を利用): `PHP_BUILD_INSTALL_EXTENSION="redis=@ memcached=2.2.0 imagick=@" PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j2 php-build -i development {,~/.php/versions/}5.6.30` - `PHP_BUILD_KEEP_OBJECT_FILES=on`を付けると`make clean`しなくなる - apcu_bcをインストールすると`apcu_bc.so`が見つからないエラーになるが、`apc.so`という名前でインストールされているので`apcu_bc.ini`に書かれているパスを書き換えればOK 1. `ln -nfs ~/.php/versions/7.0.17 ~/.php/php70` とかすると便利 1. direnvで `PATH_add $HOME/.php/php70/bin` とかしてバージョン固定 1. `