我在我的
Mac OSX High Sierra
上安装了 ruby,由于某种原因,我的 php 安装现在遇到了问题。我在php 7.1
。
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
libldap
的问题,并说通过brew install openldap
安装(我猜libldap
在Homebrew中被称为openldap
) - 这个安装得很好,但没有解决不了问题我该如何解决这个问题?
这对我有用:
brew reinstall openldap
虽然我不确定为什么安装 Ruby 会导致这个问题,但我最终解决了这个问题:
libldap
在 Homebrew 中被称为 openldap
。 brew install openldap
然后跑php reinstall php71
。这正确链接了库libiconv
,幸运的是,使用brew install libiconv
可以轻松安装。重新运行php install php71
解决了问题我特别必须卸载有问题的版本。您可以从如下所示的行中获取这个损坏的版本:
Referenced from: /usr/local/Cellar/[email protected]/7.1.23/bin/php
就OP而言,是
[email protected]
。就我而言,它是[email protected]
。根据我的情况运行以下命令后,一切正常
brew uninstall [email protected]
对于那些无法通过
brew install openldap libiconv
解决的人,
尝试以下命令:
brew reinstall openldap
brew reinstall [email protected]
brew services restart [email protected]
如果您有两个通过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
尝试以上所有解决方案后。最后卸载并重新安装对我有用。
brew uninstall php
brew install php
对我来说,运行以下命令后:
brew reinstall openldap
brew reinstall [email protected]
brew services restart [email protected]
我必须重新启动计算机才能停止错误,一切正常。
尝试升级您的版本
➜ brew upgrade shivammathur/php/[email protected]