前几天电脑升级到了 macOS High Sierra,然后想着 brew 也来一次 update 吧,没想到更新完后 PHP7 就出问题了,这…… 我岂不是连 blog 都部署不了了,赶紧修复。
终端执行 php
后出现:
dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.8.dylib
Referenced from: /usr/local/php7/bin/php
Reason: image not found
这看起是 libjpeg 的问题,于是到
/usr/local/opt/jpeg/lib/
看了下,发现除了有 libjpeg.8 之外,还有个
libjpeg.9,看起来是 brew 把 9 当成了默认 libjpeg,而我的 PHP7
是自己编译的,估计固定指向了 8。
至此,问题已经很明朗了,所以,只需一个 ln 就能解决问题:
ln -s -f /usr/local/Cellar/jpeg/8d/lib/libjpeg.8.dylib
/usr/local/opt/jpeg/lib/libjpeg.8.dylib
加 -f 强制覆盖一下。
php
一下:
PHP 7.1.2 (cli) (built: May 18 2017 18:34:13) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.1.2, Copyright (c) 1999-2017, by Zend Technologies
Good Job,收工。