Macにphp-buildでPHP環境を作る手順 #mac #php version 17
:追加された部分
:削除された部分
(差分が大きい場合、文字単位では表示しません)
Macにhomebrewでphp-buildでPHP環境を導入す作る手順 #mac #php
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`つけないと新しいバージョンが入らない
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. `<?php phpinfo();` を書いたファイル用意して`~/.php/php70/bin/php -S localhost:8070` とかするとphpinfoが簡単に見られる
phpenvに頼らずにphp-build単体でがんばる場合に。
必要なライブラリー関連はhomebrewで入れる。
- 忘れずに:
xcode-select --install
libz
が足りないとか言われるのはこれが原因
- 入ってるかもだけど一応:
brew install autoconf automake bison re2c libjpeg libpng libmcrypt libxml2 igbinary imagemagick
- ひょっとして:
brew link --force bison libxml2
brew install php-build --HEADgitで入れてもよいけど、そこは好みで。homebrewで入れるなら--HEAD
つけないと新しいバージョンが入らない- homebrew/phpがdeprecatedになってphp-buildがhomebrewで入れられなくなったので、この方法はもう使えない
- 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の中身をコピーしてくれる
vim /usr/local/share/php-build/default_configure_options
- 追記:
--with-pdo-pgsql
- 追記:
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",
- まだディレクトリー作ってなかったら:
mkdir -p ~/.php/versions
php-build --definitions
で導入可能なパッケージ確認- ビルド例
- 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
- PHP72:
ln -nfs ~/.php/versions/7.0.17 ~/.php/php70
とかすると便利- direnvで
PATH_add $HOME/.php/php70/bin
とかしてバージョン固定 <?php phpinfo();
を書いたファイル用意して~/.php/php70/bin/php -S localhost:8070
とかするとphpinfoが簡単に見られる