我正在尝试使用Homebrew安装PHP 7.1。
根据Homebrew网站,我应该输入
brew install exolnet/deprecated/php@7.1
我所能得到的是
configure: error: Please reinstall the iconv library.
重新安装没有帮助。当前版本的libiconv是1.16。
如何解决此错误?
答案 0 :(得分:5)
尝试以下方法
brew install openldap libiconv
brew tap exolnet/homebrew-deprecated
brew install php@7.1
有关更多详细信息,请参阅本指南
https://getgrav.org/blog/macos-catalina-apache-multiple-php-versions
答案 1 :(得分:5)
Icu4c 重新安装让我强制重新安装 PHP8,这破坏了我的目的。所以,我发现了一些新的存储库,您完全不需要在这些存储库中处理这些 icu4c 内容:
brew install shivammathur/php/php@5.6
brew install shivammathur/php/php@7.0
brew install shivammathur/php/php@7.1
brew install shivammathur/php/php@7.2
brew install shivammathur/php/php@7.3
brew install shivammathur/php/php@7.4
brew install shivammathur/php/php@8.0
首先,使用类似 brew uninstall "php*"
和 brew unlink php@7.1
之类的命令删除所有 php 安装
您可能还需要 untap
次点击。我不得不跑
brew untap exolnet/deprecated
正确安装。
然后,如果需要,请删除 /usr/local/etc/php 文件夹
然后安装我在上面链接的软件包之一。
适用于 PHP 7.1:
➜ ~ php -v
PHP 7.1.33 (cli) (built: Dec 1 2020 01:14:43) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.33, Copyright (c) 1999-2018, by Zend Technologies
您还可以使用如下命令在 php 版本之间快速切换:
brew unlink php && brew link --overwrite --force php@7.2
等
GitHub 存储库:https://github.com/shivammathur/homebrew-php
我发现这些包的来源:here。
答案 2 :(得分:0)
我对此有疑问:
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib
Referenced from: /usr/local/Cellar/php@7.1/7.1.33/bin/php
Reason: image not found
对我来说,解决方案是先手动下载https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb(因为安装公式会直接导致错误Calling Installation of icu4c from a GitHub commit URL is disabled!
),然后:
$ brew reinstall icu4c.rb
接下来,从旧的icu4c版本的.dylib文件复制到临时位置:
$ mkdir ~/temp
$ cp /usr/local/Cellar/icu4c/64.4/lib/*.dylib ~/temp
然后,重新安装icu4c:
$ brew reinstall icu4c
运行php 7.1,然后将每个必要的.dylib文件复制回当前的icu4c lib文件夹,直到php 7.1不会出现任何错误为止。
答案 3 :(得分:0)
这对我在 Big Sur 有用:
brew tap shivammathur/homebrew-php
brew install shivammathur/php/php@7.1