我已经安装了 sphinx 二进制文件和库,现在正尝试安装 PECL sphinx 模块。
我的系统运行的是 OS X 10.6,安装了 MAMP 1.8.2。我尝试使用以下命令安装 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 版本而不是内置版本吗?
答案1
如果问题仍然存在:这里有一个链接和一些附加信息: http://blog.achimbo.de/index.php/2010/05/03/installing-pecl-for-mamp/
干杯,阿奇姆