Проблемы с установкой PHP-модуля PECL sphinx - PullRequest
0 голосов
/ 13 марта 2010

Я установил бинарные файлы и библиотеки sphinx и сейчас пытаюсь установить модуль sphinx PECL.

Моя система работает под управлением 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 Ответ

2 голосов
/ 13 марта 2010

Если версия PHP " правильная " установлена ​​в чем-то вроде /Applications/MAMP/bin/php5/ и включает инструменты разработки, у вас должна быть какая-то версия команды pecl для этого, некоторые рядом с этим каталогом.

Если это так, то выполнение команды pecl, которая соответствует вашей версии правильной PHP, должно помочь: она запустит правильную версию phpize и позволит скомпилировать расширение для (еще раз) правильной версии PHP.

Вы просто должны надеяться, что MAMP включает эти команды - я не могу проверить, так как у меня нет Mac.

...