Могу ли я установить расширение 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
Любая идея, что я могу делать неправильно?
Ответы
Ответ 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!!