安装pecl memcached时出错

joe*_*der 12 memcached centos pecl

我在安装pecl memcached软件包时遇到了麻烦.

没有任何yum或pear/pecl安装命令的任何喜悦我提到这个问题安装PECL Memcached错误并开始尝试配置/制作手动

我正在使用pecl下载最新的(memcached-2.2.0)然后解压,phpize ...

如果我使用--disable-memcached-sasl进行配置,则configure完成但make失败.看起来像语法错误

In file included from /root/memcached-2.2.0/php_memcached_private.h:28,
                 from /root/memcached-2.2.0/php_memcached.c:26:
/root/memcached-2.2.0/php_libmemcached_compat.h:56: error: expected ‘=’, ‘,’, ‘;’, ‘asm’     or ‘__attribute__’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c:328: error: expected declaration specifiers or ‘...’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c:329: error: expected declaration specifiers or     ‘...’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c:330: error: expected declaration specifiers or ‘...’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c: In function ‘php_memc_get_impl’:
/root/memcached-2.2.0/php_memcached.c:594: warning: passing argument 4 of     ‘memcached_mget_by_key’ from incompatible pointer type
/usr/include/libmemcached/memcached_get.h:38: note: expected ‘char **’ but argument is of type ‘const char **’
/root/memcached-2.2.0/php_memcached.c: In function ‘php_memc_getMulti_impl’:
Run Code Online (Sandbox Code Playgroud)

还有更多,但希望这是一个有用的指标

如果我使用--with-libmemcached-dir =/usr/include/libmemcached我得到

checking for libmemcached location... configure: error: Unable to find memcached.h under /usr/include/libmemcached
Run Code Online (Sandbox Code Playgroud)

但那是memcached.h的地方

如果我使用--with-libmemcached-dir = no configure给出

configure: error: no, libmemcached sasl support is not enabled. Run configure with --disable-memcached-sasl to disable this check
Run Code Online (Sandbox Code Playgroud)

如果我添加了--disable-memcached-sasl选项,则配置完成但是再次失败并出现语法错误

觉得我陷入了困境.

这不是我第一次从头开始设置一个服务器来使用memcached(虽然我猜这是第一次)我不记得以前有过任何问题.

任何想法请任何人?

这看起来像个好领导

http://blusmurf.net/2012/08/27/pecl-memcache-build-error/

但不是快乐

我也一直在从php-memcached的github页面调查这个问题

https://github.com/php-memcached-dev/php-memcached/issues/69

我现在尝试使用2.1和2.2,攻击文件以尝试构建.仍然没有运气......

Tom*_*tam 18

如果您不需要SASL,请回答:

libmemcached目录[no]:no --disable-memcached-sasl


小智 15

通过使用此组合解决了它:

  1. libmemcached 1.0.16版 - 从源代码安装
  2. php-memcached 发行版2.1.0 - 从源代码安装并在php.in中添加了memcached.so

我希望这有帮助.


Sau*_*ley 8

第1步 - 安装SASL:

yum install cyrus-sasl-devel
Run Code Online (Sandbox Code Playgroud)

第2步 - 使用安装的SASL编译libmemcached:

cd ~
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure
make && make install
Run Code Online (Sandbox Code Playgroud)

第3步 - 安装PHP Memcached:

pecl install memcached
Run Code Online (Sandbox Code Playgroud)

(不要指定libmemcached-dir)