【发布时间】:2015-12-18 14:28:37
【问题描述】:
运行php时出现错误:
$ php -v
dyld: Library not loaded: /usr/local/lib/libpng.3.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
Trace/BPT trap: 5
我读到了这个dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib with anything php related,但我不确定PHP 是否安装了brew,因为这个命令brew reinstall php55(或其他类似brew reinstall php、brew reinstall php56)不起作用。
下一个答案建议对这个缺失的库进行符号链接。例如
$ locate libpng.3.dylib
/opt/X11/lib/libpng.3.dylib
/usr/local/php5/lib/libpng.3.dylib
$ ls -l /usr/local/php5/lib/libpng.3.dylib
lrwxrwxrwx 1 snowcrash admin 18 15 Jan 2008 /usr/local/php5/lib/libpng.3.dylib -> libpng.3.0.0.dylib
$ ls -l /usr/local/php5/lib/libpng.3.0.0.dylib
-rwxrwxrwx 1 snowcrash admin 422632 4 May 2007 /usr/local/php5/lib/libpng.3.0.0.dylib
$ ln -s /usr/local/php5/lib/libpng.3.0.0.dylib /usr/local/lib/libpng.3.dylib
$ php -v
dyld: Library not loaded: /usr/local/lib/libpng.3.dylib
Referenced from: /usr/local/bin/php
Reason: Incompatible library version: php requires version 20.0.0 or later, but libpng.3.dylib provides version 4.0.0
Trace/BPT trap: 5
但版本似乎太旧了,所以不知道该怎么办。我假设我需要以某种方式升级 PHP 或找到更新版本的 libpng。
有什么建议吗?
【问题讨论】:
-
workarounds for libjpeg 也适用于此。