【问题标题】:Problems installing PHP's PECL sphinx module安装 PHP 的 PECL sphinx 模块时出现问题
【发布时间】:2010-03-13 10:20:07
【问题描述】:

我已经安装了 sphinx 二进制文件和库,现在正在尝试安装 PECL sphinx 模块。

我的系统正在运行安装了 MAMP 1.8.2 的 OS X 10.6。我尝试使用以下命令安装 sphinx:

sudo pecl install sphinx

PECL 命令输出以下内容:

running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

上述版本与执行phpinfo() 时列出的版本不匹配。看来 PECL 是在尝试与 PHP 的内置版本兼容。

如果我忽略错误并继续,它将成功编译并将sphinx.so 文件放入:

/usr/lib/php/extensions/no-debug-non-zts-20090626/sphinx.so

实际上应该是:

/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/

我尝试将 sphinx.so 文件复制到 MAMP 扩展目录,但是当我重新启动 apache PHP 时显示以下警告:

PHP Startup: Unable to load dynamic library '/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/sphinx.so

我认为这是因为 MAMP 是 32 位,而内置 PHP 是 64 位,所以 PECL 符合 64 位。我可能完全错了,但当我仔细研究这个话题时,我确实读到了这篇文章。

有谁知道如何让 PECL 映射到 PHP 的 MAMP 版本而不是内置版本?

【问题讨论】:

    标签: php linux sphinx mamp pecl


    【解决方案1】:

    如果“正确”版本的 PHP 安装在类似 /Applications/MAMP/bin/php5/ 的地方,并且包含开发工具,那么您应该有一些版本的 pecl 命令来配合它,该目录旁边的一些。

    如果是这样,运行与您的“正确”版本的 PHP 对应的 pecl 命令应该会有所帮助:它将运行 正确 版本的 phpize ,并将允许针对(再次)正确版本的 PHP 编译扩展。

    你只需要希望 MAMP 包含这些命令-- 我无法检查,因为我没有 mac。

    【讨论】:

      猜你喜欢
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 2020-10-14
      • 2023-03-22
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      相关资源
      最近更新 更多