Подтвердить что ты не робот

Могу ли я установить расширение memcached PHP с помощью PECL?

У меня возникли проблемы с установкой " memcached" Расширение PHP из PECL, хотя я могу успешно установить " memcache". (Они являются отдельными расширениями PHP.)

Например, эти команды работают нормально:

$sudo pecl install memcache
$ sudo pecl install APC
$ sudo pecl install oauth

Однако попытка установки memcached вызывает ошибки:

$sudo pecl install memcached
...
ld: библиотека не найдена для -lmemcached
collect2: ld вернулся 1 статус выхода
make: *** [memcached.la] Ошибка 1
ОШИБКА: `make 'failed

Я использую pecl, memcached и libmemcached из Mac-портов (macports.org) на недавнем Intel Mac. Библиотеки libmemcached можно найти в /opt/local:

/Opt/локальные/включить/libmemcached
/opt/local/include/libmemcached/libmemcached_config.h
/opt/local/lib/libmemcached.2.0.0.dylib
/opt/local/lib/libmemcached.2.dylib
/opt/local/lib/libmemcached.a
/opt/local/lib/libmemcached.dylib
/opt/local/lib/libmemcached.la

Любая идея, что я могу делать неправильно?

4b9b3361

Ответ 1

Андрей Змиевский (разработчик модуля memcached) любезно ответил на мой запрос электронной почты следующими инструкциями:

$ pecl download memcached
$ tar zxvf memcached-1.0.0.tgz (or whatever version downloads)
$ cd memcached-1.0.0
$ phpize
$ ./configure --with-libmemcached-dir=/opt/local
$ make
$ sudo make install

Это сработало отлично.

Ответ 2

Как вы видели, новое расширение memcached использует libmemcached для тяжелого подъема. Если бы это был Linux, я бы сказал, что возможно, что у вас нет /opt/local/lib/, перечисленных в ld.so.conf(и запустите 'ldconfig').

MaxOSX не использует это. Он, однако, устанавливается из "портов". http://lsimons.wordpress.com/2008/05/01/serious-php-part-1/

Ответ 3

такая же ситуация здесь. я должен был сделать выше, но с явными именами путей (я запускаю свой php и т.д. из /opt/local )

  • /opt/local/bin/pecl загрузить memcached
  • tar zxvf memcached-1.0.0.tgz
  • cd memcached-1.0.0
  • /опция/локальные/бен/phpize
  • ./configure - prefix =/opt/local --with-php-config =/opt/local/bin/php-config --with-libmemcached-dir =/opt/локальный
  • сделать
  • make install

обычно этот вид вещей довольно прост для os x с macports, но пока не существует пакета php5-memcached (только один для более старого пакета memcache (no "d" )). ой, мне также пришлось установить более старую версию libmemcached, так как последняя версия не компилировалась на os x 10.5.8 для меня. ой!

Ответ 4

Ну, после многих попыток только это решение работает для меня.

Процесс сборки успешно завершен Установка '/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/memcached.so' установить ok: channel://pecl.php.net/memcached-2.2.0 Параметр "php_ini" не установлен в расположение php.ini. Вы должны добавить "extension = memcached.so" в php.ini

VOILA!!