2010-03-13 93 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。