2010-03-13 147 views
0

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

我的系统在安装MAMP 1.8.2时运行OS X 10.6。我尝试使用下面的命令来安装狮身人面像:

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扩展名dir,但是当我重新启动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映射到MAMP版本的PHP而不是内置版本?

回答

2

如果PHP的“正确”版本安装在像/Applications/MAMP/bin/php5/,并具有开发工具包括在内,你应该有一些版本的pecl命令去用它,一些旁边的目录。

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

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