cc
cc copied to clipboard
17.PHP Net-SNMP OS X 10.10.5
问题
今天升级了到了 OS X 10.10.5, 然后在PHP CLI里出现了下面错误
$ php
dyld: Library not loaded: /usr/lib/libnetsnmp.25.dylib
Referenced from: /usr/bin/php
Reason: image not found
Trace/BPT trap: 5
然后检查了/usr/lib 文件夹目录,发现 Net-SNMP libraries 最近的一些更新
$ ls -la /usr/lib/libnetsnmp.*
-rwxr-xr-x 1 root wheel 1106528 9 10 2014 /usr/lib/libnetsnmp.15.1.2.dylib
-rwxr-xr-x 1 root wheel 1241136 7 9 15:38 /usr/lib/libnetsnmp.30.dylib
-rwxr-xr-x 1 root wheel 476848 9 10 2014 /usr/lib/libnetsnmp.5.2.1.dylib
lrwxr-xr-x 1 root wheel 22 4 28 19:13 /usr/lib/libnetsnmp.5.dylib -> libnetsnmp.5.2.1.dylib
lrwxr-xr-x 1 root wheel 19 7 20 10:07 /usr/lib/libnetsnmp.dylib -> libnetsnmp.30.dylib
解决
把 libnetsnmp.25.dylib 软连接到最新版本的 libnetsnmp.dylib
$ sudo ln -s /usr/lib/libnetsnmp.dylib /usr/lib/libnetsnmp.25.dylib
很奇怪为什么php没有跟随系统升级到最新...
然后就好用了
$ php -v
PHP 5.5.24 (cli) (built: May 19 2015 10:10:05)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
osx 10.11 无法执行sudo ln -s /usr/lib/libnetsnmp.dylib /usr/lib/libnetsnmp.25.dylib ,提示permission not permitted 。 替换/usr/lib 为 /user/local/lib 即可
OS X 10.11 的同学可参考楼上的回答。
本人 Mac 系统版本 10.10.5 暂时还未验证。
感谢楼上同学补充。