memcache编译安装报错之解决方法

in 高性能web with 0 comment

今天安装memcache,奇葩错,我也是醉了,进入正题。

#wget http://www.lishiming.net/data/attachment/forum/memcache-2.2.3.tgz
#tar -zvxf memcache-2.2.3.tgz
#cd memcache-2.2.3
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make                                  

//以上参照铭哥的安装步骤。问题来了:

编译是顺利的,到了make这一步报错。

错误1:/usr/local/src/memcache-2.2.3/memcache.c:2159: error: too few arguments to function ‘zend_list_insert’
解决方法:百度后:关于该错误的帖子很多,方法一致,编辑“memcache.c”文件
#vim memcache
将错误信息提示的行中“zend_list_insert”的值(pool, le_memcache_pool)改为(pool, le_memcache_poolTSRMLS_CC)即可

错误2:/usr/local/src/memcache-2.2.3/memcache.c:1975: error: too few arguments to function ‘zend_is_callable’
解决方法:这个错误各种百度就是找不到原因,无奈之下自己随便试了下,结果成功了!
根据提示信息找到所在行:if (!zend_is_callable(failure_callback, 0, NULL,)),翻译上面错误信息,提示函数少参数,于是我在NULL后面又加了NULL就变成了if (!zend_is_callable(failure_callback, 0, NULL, NULL));
执行make后,果断没有报错了;
#make
#make install
至此解决。关于添加的NULL值也不知道何意,反正成功安装了先不管了,哪位大神知道的可以解释解释一下啊?

Responses