dyld:图书馆没有加载:/usr/local/lib/libpng16.16.dylib与任何PHP相关
使用任何PHP应用程序的结果在:
dyld: Library not loaded: /usr/local/lib/libpng15.15.dylib Referenced from: /usr/local/bin/php Reason: image not found [1] 4494 trace trap php
我的大部分PHP应用程序安装使用自制软件,除了composer php(使用curl安装)
我试图删除libpng和重新安装与自制软件无济于事。
接下来是切换到最新版本的libpng 1.5,如错误消息中所述:
$ brew info libpng libpng: stable 1.6.10 (bottled) http://www.libpng.org/pub/png/libpng.html /usr/local/Cellar/libpng/1.5.17 (15 files, 1.0M) Poured from bottle /usr/local/Cellar/libpng/1.5.18 (15 files, 1.0M) Poured from bottle /usr/local/Cellar/libpng/1.6.10 (17 files, 1.3M) * $ brew switch libpng 1.5.18 Cleaning /usr/local/Cellar/libpng/1.5.17 Cleaning /usr/local/Cellar/libpng/1.5.18 Cleaning /usr/local/Cellar/libpng/1.6.10 16 links created for /usr/local/Cellar/libpng/1.5.18
现在错误已经改变为:
dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib Referenced from: /usr/local/lib/libfreetype.6.dylib Reason: image not found [1] 6993 trace trap phpunit
我正在运行小牛(10.9.2)和PHP 5.5.1。
提前致谢!
我build议你运行:
$ brew update && brew upgrade
直到几分钟前,我也有这个问题。 因为我有一个最新的PHP版本,我解决它:
$ brew reinstall php55
希望有所帮助。
我按照上面的说法(无论如何也跟不上啤酒),仍然有同样的问题:
LAPTOP:folder Username$ php -v dyld: Library not loaded: /usr/local/lib/libpng15.15.dylib Referenced from: /usr/local/bin/php Reason: image not found Trace/BPT trap: 5
然后想出一个更简单的方法:
在你的盒子上search你的libpng版本:
# Requires locate & updatedb for mac os x # See Link [1] LAPTOP:folder Username$ locate libpng15.15.dylib /Applications/GIMP.app/Contents/Resources/lib/libpng15.15.dylib /usr/X11/lib/libpng15.15.dylib /usr/local/Cellar/libpng/1.5.14/lib/libpng15.15.dylib
做一个符号链接:
LAPTOP:folder Username$ ln -s /usr/local/Cellar/libpng/1.5.14/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib
再试一次:
LAPTOP:folder Username$ php -v PHP 5.3.26 (cli) (built: Aug 25 2013 16:07:23) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
1) Mac OS X相当于定位
这是因为libpng没有符号链接。 你需要再次链接libpng。
brew unlink libpng && brew link libpng
你可能会得到一些错误。 我通过更正权限修复了这个错误。 也许这是因为卸载macports。
sudo chown -R yourid:staff /usr/local/share/man/
再次创build链接,它会工作。
我通过将其复制到缺less的目录来解决此问题:
cp /opt/X11/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib
brew重新安装libpng不断的安装libpng16,而不是libpng15,所以我被迫做了以上。
在我的情况下,这是libjpeg
。 我所要做的就是运行brew reinstall libjpeg
,一切正常!
以防万一有人遇到这个问题,我解决了以下问题
brew update && brew upgrade # installs libpng 1.6
这造成了与其他包需要1.5的包,他们build立了一个错误,所以我把它链接:
cd /usr/local/lib/ ln -s ../Cellar/libpng/1.5.18/lib/libpng15.15.dylib
现在他们都是和睦相处,并肩而坐。 重build依赖1.5的软件包会更好,但是这可以作为一个快速的绷带修复。
我知道这个问题已经有了一个答案,提供了一个解决scheme。 但我想给你我两分钱帮助人们了解这个问题。 获取相同的问题我已经创build了一个具体的问题 我得到同样的问题,但只有与PHPStorm。 当我尝试从编辑器运行testing。
dyld是dynamic链接器
我播种dyld正在寻找/usr/local/lib/libpng15.15.dylib但在我的/ usr / local / lib /里面没有。 在那个文件夹中,我find了libpng16.16.dylib。
感谢评论,我不知道我的/ usr / bin / php是一个指向PHP 5.5.8的指针。 相反,/ usr / local / bin / php是5.5.14。 PHPStorm使用默认configuration的/ usr / bin / php。 当我通过控制台运行php时,我运行/ urs / local / bin / php。
所以,如果你得到一些dyld错误,也许你有一些错误的PHPconfiguration。 这是因为
$ brew update && brew upgrade $ brew reinstall php55
但我不知道为什么这不能解决问题给我。 也许是因为我有
我也有这个问题,并没有在这个线程的解决scheme为我工作。 事实certificate,问题是我在~/.bash_profile
有这一行:
alias php="/usr/local/php/bin/php"
而事实certificate, /usr/local/php
只是/usr/local/Cellar/php54/5.4.24/
一个符号链接。 所以当我调用php -i
我仍然调用php54。 我刚从我的bashconfiguration文件中删除了这行,然后php工作。
出于某种原因,即使php55正在运行,php54中的php.ini
文件仍然被加载,每当我调用php时都会收到这个警告:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/Cellar/php54/5.4.38/lib/php/extensions/no-debug-non-zts-20100525/memcached.so' - dlopen(/usr/local/Cellar/php54/5.4.38/lib/php/extensions/no-debug-non-zts-20100525/memcached.so, 9): image not found in Unknown on line 0
为了解决这个问题,我只是把下面一行添加到我的bashconfiguration文件中:
export PHPRC=/usr/local/etc/php/5.5/php.ini
然后一切正常!
我有这个错误,没有通过brew update && brew upgrade
来解决。 出于某种原因,我需要从头开始安装它:
$ brew install libpng
更新MAMP之后,我得到了这个问题,我设置的自定义$ PATH是错误的,因为新的PHP版本,所以PHP的错误版本被加载第一,这是触发错误的PHP版本。
更新我的.bash_profilepath修复了我的问题。