我在从PECL安装“memcached”PHP扩展时遇到问题,但我可以成功安装“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'失败
我在最近的Intel Mac上使用来自Mac Ports(macports.org)的pecl,memcached和libmemcached。 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
知道我可能做错了吗?
答案 0 :(得分:32)
Andrei Zmievski(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 :(得分:1)
正如您所见,新的memcached扩展使用libmemcached来完成繁重的工作。如果它是Linux,我会说你可能没有在ld.so.conf中列出/ opt / local / lib /(并运行'ldconfig')。
尽管MaxOSX不使用它。然而,显然可以从“港口”安装。 http://lsimons.wordpress.com/2008/05/01/serious-php-part-1/
答案 2 :(得分:1)
这里的情况相同。我必须做上面的事情,但是使用明确的路径名称(我运行我的php等/ / opt / local)
通常这种东西在os x上使用macports非常简单,但是还没有php5-memcached包(只有一个用于较旧的memcache(没有“d”)包)。哦,我还必须安装较旧版本的libmemcached,因为最新版本没有在os x 10.5.8上为我编译。 OY!
答案 3 :(得分:0)
好吧,经过多次尝试,只有这个解决方案适合我。
构建过程成功完成安装 '/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 !!