【问题标题】:Configuring already installed PHP to work with already installed ncurses (MAMP)配置已安装的 PHP 以使用已安装的 ncurses (MAMP)
【发布时间】:2010-03-19 12:32:59
【问题描述】:

我已经安装了 MAMP,而它附带的 PHP 不是用 ncurses 编译的。我尝试使用 port 来安装 ncurses 并且它似乎已经存在于我的系统上,所以现在我想知道是否有办法让 PHP 使用它无需重新编译PHP --with-ncurses

换句话说:PHP 是否可以配置为使用 ncurses 而无需重新编译?

【问题讨论】:

    标签: php configure ncurses


    【解决方案1】:

    对于迟到的答案,我很抱歉,但这实际上可以通过 MAMP 轻松完成。

    我在运行 OS X Snow Leopard 的 MacBook 上完成了此操作。

    您的 MAMP 目录包含 php 源代码的 tar 文件。 MAMP 1.8.4 版附带 php-5.2.11.tar,位于:/Applications/MAMP/bin/php5/

    1. cd /Applications/MAMP/bin/php5/
    2. tar -xvf php-5.2.11.tar
    3. cd php-5.2.11/ext/ncurses
    4. /Applications/MAMP/bin/php5/bin/phpize
    5. ./configure --with-php-config=/Applications/MAMP/bin/php5/bin/php-config
    6. 制作
    7. 进行安装

    之后您只需将 ncurses.so 扩展添加到 MAMP php.ini

    1. echo "extension=ncurses.so" >> /Applications/MAMP/conf/php5/php.ini
    2. php -i | grep ncurses

    这给了我:

    ncurses

    ncurses 支持 => 启用

    ncurses 库版本 => 5.7

    您也可以使用 PCNTL 扩展来做到这一点 ;) ;)

    干杯!

    【讨论】:

    • 感谢您迟到的回复,无论如何。我仍然对此感兴趣,但我目前正在运行的 MAMP 是 PHP 5.2.6 附带的,并且没有 PHP .tar 存档。当我开始将其升级到更新的完整版本时,我会查看您的回复。再次感谢您!
    • 5.2.65.2.11 之间的扩展名可能没有变化。只需按照食谱,看看它是否有效(很可能有效)
    • 为我工作就像一个魅力......谢谢!我的 php 路径与你的略有不同,但我明白了它的要点。
    【解决方案2】:

    According to the manual,必须编译ncurses。有些扩展可以编译为共享库(dll/so)并动态加载,但有些不能。似乎 ncurses 不能。

    我不太了解mac包的结构,但它不是bsd/ports风格的安装吗?在这种情况下,只需找到包并配置 + 重新编译即可。

    编辑:我看到 mamp 是一个二进制发行版。那你就不走运了。我建议您至少从源代码安装 php。能够安装新的扩展等非常有用。编译 php 相当简单,所以即使你对编译的东西并不完全有信心,你也应该能够通过它挤成一团。

    【讨论】:

    • 感谢您富有洞察力和帮助的回答。
    • 抱歉,在我验证@alexandermensa 的答案之前,问题会重新打开。
    • 没关系。他的回答比我的详细得多。
    猜你喜欢
    • 1970-01-01
    • 2018-06-27
    • 2020-03-18
    • 2018-02-03
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多