【问题标题】:Error while installing PHP 7.1 for Mac (with Homebrew)安装 PHP 7.1 for Mac 时出错(使用 Homebrew)
【发布时间】:2020-02-08 15:05:23
【问题描述】:

我正在尝试使用 Homebrew 安装 PHP 7.1。

根据 Homebrew 网站,我应该输入

brew install exolnet/deprecated/php@7.1

我得到的只是

configure: error: Please reinstall the iconv library.

重新安装没有帮助。当前版本 libiconv 是 1.16。

如何解决这个错误?

【问题讨论】:

    标签: macos homebrew


    【解决方案1】:

    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 install shivammathur/php/php@8.1
    

    首先,使用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】:

      这在 Big Sur 上对我有用:

      brew tap shivammathur/homebrew-php
      brew install shivammathur/php/php@7.1
      

      【讨论】:

        【解决方案3】:

        试试下面的

        brew install openldap libiconv
        brew tap exolnet/homebrew-deprecated
        brew install php@7.1
        

        有关更多详细信息,请查看本指南

        https://getgrav.org/blog/macos-catalina-apache-multiple-php-versions

        【讨论】:

        • 太棒了,第一个答案!其他一切都失败了。
        • 不再有效。最佳答案(截至 2021 年 4 月 15 日)是@Arda 下面的答案。
        • >brew tap exolnet/homebrew-deprecated brew tap exolnet/homebrew-deprecated 失败
        【解决方案4】:

        我对此有疑问:

        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 没有错误为止。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-07-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-01-08
          • 2013-11-01
          • 1970-01-01
          相关资源
          最近更新 更多