Digitra

LINUXサーバの設定やプログラムのことなどを中心にブログを書いています。

MacのPHPがぶっ壊れたときの対処

Macで、homebrewで色々とインストールをしていたら、AtomPHPがおかしくなっているよとの警告が出てきたので、phpを叩いてみると、以下のようなエラーが出る。

 

$ php -v
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
Abort trap: 6

 

$ brew update && brew upgrade

をすると治るよという記述も見られたが、どうも治らない。

エラーが出ている、readlineも

$ brew reinstall readline

するも駄目だったが、そもそも、エラーには、libreadline.7.dylibが無いと出ている。

 

/usr/local/opt/readline/lib/を見てみると、確かに8はあるけど、7は無い。

brewコマンドでreadlineも確認。

$ brew info readline
readline: stable 8.0.0 (bottled) [keg-only]

 

ということで、強引だけど、8で7の代用をして試してみる。

 

リンク張ってみる

$ cd /usr/local/opt/readline/lib/
$ ln libreadline.8.dylib libreadline.7.dylib

 

 

あっさり動いた

$ php -v
PHP 7.0.15 (cli) (built: Jan 22 2017 08:51:45) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

 

以上