php dyld:未加载 libldap 的库

问题描述 投票:0回答:10

我在我的

Mac OSX High Sierra
上安装了 ruby,由于某种原因,我的 php 安装现在遇到了问题。我在
php 7.1

按照this(也这里)Github建议,我尝试了

brew update && brew reinstall php71

安装时,它坏了

==> Pouring [email protected]_sierra.bottle.tar.gz
==> /usr/local/Cellar/[email protected]/7.1.23/bin/pear config-set php_ini /usr/local/etc/php/7.1/php.ini system

有错误:

dyld: Library not loaded: /usr/local/opt/openldap/lib/libldap-2.4.2.dylib
  Referenced from: /usr/local/Cellar/[email protected]/7.1.23/bin/php
  Reason: image not found
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall [email protected]`

在终端中输入

php
会引发相同的错误。

我尝试过的其他事情:

  • 我想也许它没有链接,所以我也尝试了:
    brew unlink libldap && brew link libldap
    - 但Homebrew不支持
    libldap
  • 然后这里,虽然与postgres无关,但它确实讨论了
    libldap
    的问题,并说通过
    brew install openldap
    安装(我猜
    libldap
    在Homebrew中被称为
    openldap
    ) - 这个安装得很好,但没有解决不了问题

我该如何解决这个问题?

php dyld
10个回答
49
投票

根据这个问题,需要安装

openldap
libiconv

brew install openldap libiconv

我尝试过,它对我的系统有效。我最初缺少 PHP

intl
扩展。


15
投票

这对我有用:

brew reinstall openldap

8
投票

虽然我不确定为什么安装 Ruby 会导致这个问题,但我最终解决了这个问题:

  • 根据此讨论
    libldap
    在 Homebrew 中被称为
    openldap
    brew install openldap
    然后跑
    php reinstall php71
    。这正确链接了库
  • 下一个问题是
    libiconv
    ,幸运的是,使用
    brew install libiconv
    可以轻松安装。重新运行
    php install php71
    解决了问题

6
投票

我特别必须卸载有问题的版本。您可以从如下所示的行中获取这个损坏的版本:

Referenced from: /usr/local/Cellar/[email protected]/7.1.23/bin/php

就OP而言,是

[email protected]
。就我而言,它是
[email protected]
。根据我的情况运行以下命令后,一切正常

brew uninstall [email protected]

6
投票

对于那些无法通过

brew install openldap libiconv
解决的人, 尝试以下命令:

brew reinstall openldap
brew reinstall [email protected]
brew services restart [email protected]


2
投票

如果您有两个通过brew运行的PHP以及XAMPP,则.bash_profile中的环境路径可能存在问题。

which php

尝试上面的命令来查看当前的 php 路径。如果不准确,请设置适当的路径并评论其他。

export PATH=/Applications/XAMPP/xamppfiles/bin:$PATH
#export PATH=‚Äù/usr/local/opt/[email protected]/bin:/usr/local/opt/[email protected]/sbin:$PATH

2
投票

尝试以上所有解决方案后。最后卸载并重新安装对我有用。

brew uninstall php

brew install php

1
投票

对我来说,运行以下命令后:

brew reinstall openldap 
brew reinstall [email protected] 
brew services restart [email protected]

我必须重新启动计算机才能停止错误,一切正常。


0
投票

尝试升级您的版本

➜  brew upgrade shivammathur/php/[email protected]         
© www.soinside.com 2019 - 2024. All rights reserved.