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

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

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

$ sudo pecl установить memcache
$ sudo pecl install APC
$ sudo pecl install oauth

Однако попытка установить memcached приводит к ошибкам:

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

Я использую 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

Есть идеи, что я могу делать не так?

Ответы [ 4 ]

32 голосов
/ 30 марта 2009

Андрей Змиевский (разработчик плагина 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

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

1 голос
/ 17 февраля 2010

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

  • / opt / local / bin / pecl загрузить memcached
  • tar zxvf memcached-1.0.0.tgz
  • cd memcached-1.0.0
  • / Opt / местные / бен / phpize
  • . / Configure - префикс = / opt / local --with-php-config = / opt / local / bin / php-config --with-libmemcached-dir = / opt / local
  • сделать
  • сделать установку

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

1 голос
/ 26 марта 2009

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

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

0 голосов
/ 23 июля 2014

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

  1. Установить XAMPP
  2. Установить варку (https://github.com/Homebrew/homebrew/wiki/Installation)
  3. $ варево
  4. установить libmemcached
  5. cd / Applications / XAMPP / xamppfiles / bin /
  6. $ sudo ./pecl install memcached

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

ВОЙЛА !!

...