homebrew/php が死んでた

標準

Homebrew/homebrew-php: ? Homebrew/php (deprecated)

Homebrew 1.5 で、homebrew/coreに統合されたのこと。
php53, php54, php55 は削除、php56, php70, php71 は php@5.6, php@7.0, php@7.1 として core へ。 php71-* のような拡張のパッケージは削除され、php@7.1 で組み込みでビルドされている。

私のマシンには php53, php56, php71 が入っているので、これらをどうにか移行する。

とりあえず、homebrew/php は外す。

brew untap homebrew/php

php56, php71は入れ直し

brew ls | grep php56 > ./brew-php56-installed.txt # 後で確認するためインストール済み拡張を記録しておく
brew ls | grep php71 > ./brew-php71-installed.txt
brew uninstall --force $(brew ls | grep php56)
brew install php@5.6
brew uninstall --force $(brew ls | grep php71)
brew install php@7.1

anyenv/phpenvへシンボリックリンクを張ってバージョン利用可能にする。

ln -s /usr/local/opt/php@5.6 ~/.anyenv/envs/phpenv/versions/5.6-brew
ln -s /usr/local/opt/php@7.1 ~/.anyenv/envs/phpenv/versions/7.1-brew

起動確認

phpenv local 5.6-brew && phpenv rehash
php -v
Failed loading /usr/local/opt/php56-xdebug/xdebug.so: dlopen(/usr/local/opt/php56-xdebug/xdebug.so, 9): image not found
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-igbinary/igbinary.so' - dlopen(/usr/local/opt/php56-igbinary/igbinary.so, 9): image not found in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-igbinary/igbinary.so' - dlopen(/usr/local/opt/php56-igbinary/igbinary.so, 9): image not found in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-imagick/imagick.so' - dlopen(/usr/local/opt/php56-imagick/imagick.so, 9): image not found in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-imagick/imagick.so' - dlopen(/usr/local/opt/php56-imagick/imagick.so, 9): image not found in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-redis/redis.so' - dlopen(/usr/local/opt/php56-redis/redis.so, 9): image not found in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-redis/redis.so' - dlopen(/usr/local/opt/php56-redis/redis.so, 9): image not found in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-ssh2/ssh2.so' - dlopen(/usr/local/opt/php56-ssh2/ssh2.so, 9): image not found in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-ssh2/ssh2.so' - dlopen(/usr/local/opt/php56-ssh2/ssh2.so, 9): image not found in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-timecop/timecop.so' - dlopen(/usr/local/opt/php56-timecop/timecop.so, 9): image not found in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-timecop/timecop.so' - dlopen(/usr/local/opt/php56-timecop/timecop.so, 9): image not found in Unknown on line 0
PHP 5.6.35 (cli) (built: Mar 31 2018 20:21:20)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

/usr/local/etc/php/{version}/conf.d/ に設定ファイルがあるので、動かない拡張は一旦呼び出しを無効化する。
extension="/usr/local/opt/php56-*.so" となっているものをコメントアウト)

pear, pecl について、設定パスが古い場合があるので必要に応じて /usr/local/etc/php/{version}/conf.d/pear.confpear.conf.default に置換える。

php -mコマンドでインストールされている拡張を確認して不足があれば pecl で追加する。

xdebug

PHP 5.6のxdebugは2.5.5が最終バージョンなので以下のようにバージョン指定で入れる。

pecl install xdebug-2.5.5

pecl install後、conf.d/ の各拡張設定ファイルのコメントアウトしたextensionパスを設定し直す。
/usr/local/Cellar/php@5.6/5.6.35/pecl/20131226/redis.so のようにフルパスで指定しておく。


php53 については、php-buildで入れ直した方がいいんだろうけど、とりあえずそのまま。動かなくなった拡張のみpeclでインストールしなおし。

こんなレポジトリも見つけた https://github.com/homebrew-backup/homebrew-php

コメントを残す

Page optimized by WP Minify WordPress Plugin