关于编译memcached时加--enable-memcached-igbinary报错

关于编译memcached时加--enable-memcached-igbinary报错,去掉这个参数即可make通过。

 

报错如下:

 

 

 

/home/ysq/download/memcached-1.0.2/php_memcached.c  -fPIC -DPIC -o .libs/php_memcached.o

/home/ysq/download/memcached-1.0.2/php_memcached.c:168: 警告:空声明中指定存储类无用

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘php_memc_get_impl’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:382: 警告:传递参数 4 (属于 ‘memcached_mget_by_key’)时在不兼容的指针类型间转换

/home/ysq/download/memcached-1.0.2/php_memcached.c:419: 警告:赋值丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c:451: 警告:传递参数 4 (属于 ‘memcached_mget_by_key’)时在不兼容的指针类型间转换

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘php_memc_getMulti_impl’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:588: 警告:传递参数 4 (属于 ‘memcached_mget_by_key’)时在不兼容的指针类型间转换

/home/ysq/download/memcached-1.0.2/php_memcached.c:618: 警告:赋值丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c:621: 警告:赋值丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘php_memc_getDelayed_impl’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:737: 警告:传递参数 4 (属于 ‘memcached_mget_by_key’)时在不兼容的指针类型间转换

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘zim_Memcached_fetch’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:812: 警告:赋值丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c:815: 警告:赋值丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘zim_Memcached_fetchAll’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:863: 警告:赋值丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c:866: 警告:赋值丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘zim_Memcached_getServerList’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:1500: 警告:从不兼容的指针类型赋值

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘zim_Memcached_getServerByKey’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:1530: 警告:赋值丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘zim_Memcached_getStats’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:1569: 警告:从不兼容的指针类型赋值

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘zim_Memcached_getVersion’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:1604: 警告:从不兼容的指针类型赋值

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘zim_Memcached_getResultMessage’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:1826: 警告:初始化丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘php_memc_do_serverlist_callback’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:1892: 警告:传递实参 4(属于 ‘add_assoc_string_ex’)丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘php_memc_zval_to_payload’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:2033: 错误:提供给函数 ‘php_json_encode’ 的实参太多

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘php_memc_zval_from_payload’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:2198: 错误:提供给函数 ‘php_json_decode’ 的实参太多

/home/ysq/download/memcached-1.0.2/php_memcached.c: 在函数 ‘php_memc_do_result_callback’ 中:

/home/ysq/download/memcached-1.0.2/php_memcached.c:2359: 警告:赋值丢弃了指针目标类型的限定

/home/ysq/download/memcached-1.0.2/php_memcached.c:2362: 警告:赋值丢弃了指针目标类型的限定

make: *** [php_memcached.lo] 错误 1

 

参考:http://www.ggtai.com/content/php-libmemcached-memcached-igbinary,尝试加以下参数:

 

 ./configure CFLAGS="-O2 -g" --enable-memcached-igbinary --enable-memcached

 

依然报错。查看google到:http://pecl.php.net/bugs/bug.php?id=16770,原来的bug。

 

于是到http://github.com/andreiz/php-memcached或者最近的版本,可以顺利通过

 

 

 

 

再看phpinfo(); 中的memcached显示:igbinary support => yes

 

在memcached使用上,可以用选项:$this->_memcache->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_IGBINARY); 启用第三方igbinary来做序列化了。

 

 

另外在测试时发现,如果setMulty的key为16个字符时,会不正常,返回值过一会自动变成0;诡异的问题

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值