【问题标题】:PHP Configure Error: Please specify the install prefix of iconv with --with-iconv=<DIR>PHP 配置错误:请使用 --with-iconv=<DIR> 指定 iconv 的安装前缀
【发布时间】:2014-09-19 04:07:43
【问题描述】:

我正在尝试在 MAMP 上配置 PHP 5.5,遵循这篇文章:

Having problems while try to install OAUTH with PECL in MAMP on mac OS lion

在我将下载的 PHP 文件夹移动到 MAMP/bin/php 之后(我还尝试创建一个 /php5.5.14/include/php 的目录,如上面的帖子中所述)并运行 ./configure

我遇到了一个错误:

checking for iconv support... yes
checking for iconv... no
checking for libiconv... no
configure: error: Please specify the install prefix of iconv with --with-iconv=< DIR >

我在哪里可以“指定安装前缀”或如何解决这个问题?

谢谢!!

【问题讨论】:

    标签: php osx-mavericks mamp


    【解决方案1】:

    Homebrew:

    brew install libiconv
    

    然后

    ./configure --with-iconv=$(brew --prefix libiconv)
    

    brew --prefix libiconv 通常计算为/usr/local/opt/libiconv

    【讨论】:

      【解决方案2】:

      完全按照控制台中的错误说明进行操作。它正在寻找 iconv 但找不到它。

      ./configure --with-iconv=pathToIconv
      

      我想我们可能应该通过运行“iconv --help”来检查是否安装了iconv,如果没有安装,你可以用自制软件安装它,或者你可以将现有文件添加到你的PATH变量中。我不确定 mamp 在这种情况下是如何工作的。如果 PHP 安装在机器上,它应该使用 iconv。由于 mamp 包含自身的方式,它可能以一种奇怪的方式完全填充了这种依赖关系。据我了解,最佳做法是将 iconv 内置到 php 安装中,因此您应该努力跟踪路径。据我了解,您可以在没有 iconv 的情况下安装它,只要满足依赖关系,它就会按预期运行.

      ./configure --without-iconv
      

      【讨论】:

      • 谢谢!如何找到“pathToIconv”?我找到了一个目录'/Applications/MAMP/bin/php/php5.5.14/include/php/ext/iconv/'所以我把./configure --with-iconv=/Applications/MAMP/bin/php/php5. 5.14/include/php/ext/,但是还是报同样的错误
      • 我正在更新我的答案。如果 '/Applications/MAMP/bin/php/php5.5.14/include/php/ext/iconv/' 是一个目录,您可能想要进入该目录。您也可以尝试运行“find -iname iconv”,这将显示名称中包含 iconv 的文件列表。我在 linux 上,我的安装在 usr/bin 中……我不太记得 OSX 的文件结构,它可能在 usr 中,但我不知道 mamp 如何处理整个场景。
      • 您还可以通过运行“./configure --enable-debug”获取更多信息
      • 感谢 CodeWizard。按照您的建议,通过运行“iconv --help”确认已安装 iconv。是的,我尝试了进入 iconv 的路径,但得到了同样的错误。在 OSX 中,iconv 也作为单个文件包含在 /usr/bin/ 中。我猜路径 '/Applications/MAMP/bin/php/php5.5.14/include/php/ext/iconv/' 是用于 iconv 安装的? (因为它包括像“config.m4”、“iconv.c”和头文件这样的文件)。我在 --with-iconv 中尝试了 /usr/bin/ 和上面的安装路径,但运气不好。
      • 但是命令“./configure --withouth-iconv”对我有用:在这种情况下可以完成配置,之后pecl的oauth安装也可以!我现在很好,如果 iconv 有任何新进展,我会更新这篇文章。
      【解决方案3】:

      我使用 MacPorts 安装了 iconv,因此可执行文件位于 /opt/local/bin/iconv。指定 ./configure --with-iconv=/opt/local 就可以了。

      【讨论】:

      • +1 PHP 正在寻找包含可执行文件的目录,而不是可执行文件本身。这对我有用。
      • 这对我有用 - 不知道为什么 --with-iconv=/opt/local/bin/ 不起作用
      • 我说得太早了。 make 失败了,看来是和 iconv 有关系。
      【解决方案4】:

      我正在使用 phpbrew 将 iconv 扩展安装到 php 中。

      当我尝试使用 /usr/local/Cellar/libiconv/1.16 安装 iconv 时

      phpbrew ext install iconv -- --with-iconv=/usr/local/Cellar/libiconv/1.16
      

      返回错误:

      checking if awk is broken... no
      checking for iconv support... yes, shared
      checking for iconv... no
      checking for libiconv... no
      configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
      

      使用 brew 的 iconv 解决了:

      brew install homebrew/core/libiconv
      phpbrew ext install iconv -- --with-iconv=$(brew --prefix libiconv)
      

      结果:

      ===> Enabling extension iconv
      [*] iconv extension is enabled.
      Done.
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-11
        • 2019-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多