dyld:Library未加载:/usr/local/lib/libpng16.16.dylib,包含任何与php相关的内容

dyld:Library未加载:/usr/local/lib/libpng16.16.dylib,包含任何与php相关的内容,php,osx-mavericks,libpng,dyld,Php,Osx Mavericks,Libpng,Dyld,使用任何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除外(使用curl安装) 我尝试删除libpng并用自制软件重新安装,但没有成功 接下来是切换到最新版本

使用任何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除外(使用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
我正在运行Mavericks(10.9.2)和PHP5.5.1

提前谢谢

我建议你跑步:

$ brew update && brew upgrade
直到几分钟前,我也有这个问题。因为我有一个最新的PHP版本,所以我用以下方法解决了它:

$ brew reinstall php55
希望这能有所帮助。

我遵循了上面的步骤(无论如何跟上brew的最新发展都不是一个坏主意),但仍然存在同样的问题:

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
然后想出了一个更简单的方法:

在方框中搜索您的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)

我通过将其复制到丢失的目录来解决此问题:

cp /opt/X11/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib

brew重新安装libpng一直在安装libpng16,而不是libpng15,因此我被迫执行上述操作。

我知道这个问题已经有了解决方案的答案。但是我想给你我的两分钱来帮助人们理解这个问题。得到了我创造的同样的问题。我也遇到了同样的问题,但仅限于PHPStorm。当我试图从编辑器中运行测试时

是动态链接器

我知道dyld在寻找/usr/local/lib/libpng15.15.dylib,但在我的/usr/local/lib/中没有。在那个文件夹中,我得到了libpng16.16.dylib

感谢一条评论,我不理解my/usr/bin/php是指向PHP5.5.8的指针。相反/usr/local/bin/php为5.5.14。PHPStorm使用默认配置/usr/bin/php。当我通过控制台运行php时,我运行/urs/local/bin/php

所以。。。如果出现一些dyld错误,可能是php配置错误。这就是原因,因为

$ brew update && brew upgrade
$ brew reinstall php55

但是我不知道为什么这不能解决我的问题。可能是因为我有

这是因为libpng没有符号链接。您需要再次链接libpng

brew unlink libpng && brew link libpng
你可能会得到一些错误。我纠正了那个错误。可能是因为卸载了macports

sudo chown -R yourid:staff /usr/local/share/man/

再次创建链接,它就会工作。

为了防止其他人遇到这个问题,我通过以下方法解决了它

brew update && brew upgrade # installs libpng 1.6
这导致其他需要1.5版本的软件包出错,因此我将其链接到:

cd /usr/local/lib/
ln -s ../Cellar/libpng/1.5.18/lib/libpng15.15.dylib

现在,他们两人和谐地生活在一起,享受着不同的生活。重建依赖于1.5的软件包会更好,但这是一个快速修复方法。

我在更新MAMP后遇到了这个问题,并且由于新的php版本,我设置的自定义$PATH是错误的,因此首先加载了错误的php版本,正是该版本的php触发了错误


更新.bash_配置文件中的路径修复了我的问题。

我也遇到了这个问题,并且该线程中的任何解决方案都不适合我。事实证明,问题是我在
~/.bash_profile
中有这一行:

alias php="/usr/local/php/bin/php"
事实证明,
/usr/local/php
只是
/usr/local/ceral/php54/5.4.24/
的一个符号链接。因此,当我调用
php-I
时,我仍然在调用php54。我刚刚从我的bash概要文件中删除了这一行,然后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
为了解决这个问题,我刚刚在bash概要文件中添加了以下行:

export PHPRC=/usr/local/etc/php/5.5/php.ini

然后一切都正常了

在我的例子中是
libjpeg
。我所要做的就是运行
brew重新安装libjpeg
,一切正常

我遇到了这个错误,brew更新和brew升级未能解决该错误。出于某种原因,我需要从头开始安装:


$brew install libpng

我很难处理这个错误:

原因:库版本不兼容:php 需要44.0.0或更高版本,但libpng16.16.dylib提供 版本42.0.0跟踪/BPT陷阱:6

我用brew做了以上所有的事情,还有更多。。。但不是这个

检查您的库的位置:

sudo find/-name libpng16.16.dylib

在我的案例中,相关结果如下:

  • /usr/local/lib/libpng16.16.dylib
  • /usr/local/ceral/libpng/1.6.34/lib/libpng16.16.dylib
  • /Applications/MAMP/Library/lib/libpng16.16.dylib
  • /opt/X11/lib/libpng16.16.dylib
因此,作为一名MAMP用户,当我尝试从PHP7.1.0更新到7.1.8()时,出现了错误,因为Symfony4至少需要7.1.3

最后,我安装了MAMP的新版本,它运行正常(4.1到4.2)。 但是,在执行此操作时,您需要首先备份MAMP/htdoc文件夹中的所有内容。还保留自定义编译的php版本的备份,以便在MAMP/bin/php中使用。(在我的例子中,我有一个带有Oracle驱动程序的特殊PHP版本)

另外,如果将MAMP php版本配置为CLI php解释器,则需要更新.bash_配置文件中的路径

它应该是这样的:

导出路径=/Applications/MAMP/bin/php/php7.1.8/bin:$PATH


我希望这能有所帮助。

谢谢,我已完全卸载并重新安装了homebrew,但retrospect我认为这是一个更好的选择。我在另一个程序(grace)中遇到了同样的问题,这将解决它。可能会有所帮助:ImageMagick可能是罪魁祸首。我在ImageMagick擦除/usr/local/bin/compare时遇到了类似的问题,我要对其进行diffmerge。我不必进行$brew升级,但$brew更新和$brew重新安装php53对我有效。警告:升级将更新所有(过时)公式,可能需要一段时间!顺便说一句,
mdfind libpng15.15.dylib