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

У меня возникла проблема с установкой расширения « memcached » PHP из 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 Ports (macports.org) на недавнем Intel Mac. Библиотеки libmemcached можно найти в / opt / local:

/ Опт / местные / включить / 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

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

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

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

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

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

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

  • / opt / local / bin / pecl загрузить memcached
  • tar zxvf memcached-1.0.0.tgz
  • cd memcached-1.0.0
  • / opt / local / bin / phpize
  • ./configure –prefix = / opt / local –with-php-config = / opt / local / bin / php-config –with-libmemcached-dir = / opt / local
  • делать
  • сделать установку

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

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

  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' install ok: channel: //pecl.php.net/memcached-2.2. 0 параметр «php_ini» не установлен в расположение php.ini. Вы должны добавить «extension = memcached.so» в php.ini

ВОИЛА !!