我可以用PECL安装memcached PHP扩展吗?

时间:2009-03-25 23:02:14

标签: php macos memcached pecl

我在从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

知道我可能做错了吗?

4 个答案:

答案 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)

  • / opt / local / bin / pecl download 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 /本地
  • 使
  • make install

通常这种东西在os x上使用macports非常简单,但是还没有php5-memcached包(只有一个用于较旧的memcache(没有“d”)包)。哦,我还必须安装较旧版本的libmemcached,因为最新版本没有在os x 10.5.8上为我编译。 OY!

答案 3 :(得分:0)

好吧,经过多次尝试,只有这个解决方案适合我。

  1. 安装XAMPP
  2. 安装brew(https://github.com/Homebrew/homebrew/wiki/Installation
  3. $ brew
  4. 安装libmemcached
  5. cd / Applications / XAMPP / xamppfiles / bin /
  6. $ sudo ./pecl install memcached
  7.   

    构建过程成功完成安装   '/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 !!