尝试使用memcached运行应用程序时发生符号查找错误

时间:2012-10-09 08:00:25

标签: php memcached

我有一个带有一些memcached操作的应用程序。我已经安装了php memcached扩展版本2.0.1。从configure到make install一切顺利,没有错误。

现在在我的应用程序中我实例化一个memcached实例,当我运行addServer或get或set等方法时,一切运行正常。但是当我解雇getStatsgetVersion时,我收到此错误

/usr/local/bin/php: symbol lookup error: /usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcached.so: undefined symbol: zend_parse_parameters_none

任何人都可以帮我吗?自整个昨天以来一直坚持这一点。

另一个奇怪的观察是NetBeans。我使用的是7.0.1版。当我创建一个memcache对象时,我在$memcObj->中输入时会得到自动完成,但当对象是memcached时,同样不是这样。没有自动填充功能。

1 个答案:

答案 0 :(得分:0)

我相信2008年为Zend API引入了zend_parse_parameters_none

sh ~> git blame Zend/zend_API.h
...
11e5d2f2 (Zeev Suraski        2001-07-30 02:07:52 +0000 247)    _zend_get_parameters_array_ex(param_count, argument_array TSRMLS_CC)
cc2b17d5 (Felipe Pena         2008-03-10 22:02:41 +0000 248) #define zend_parse_parameters_none()                                                                               \
cc2b17d5 (Felipe Pena         2008-03-10 22:02:41 +0000 249)    zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "")
58f88057 (Andrei Zmievski     2001-07-09 18:51:29 +0000 250) 

我认为您的PHP版本与PECL的Memcached扩展名不兼容,因为您的扩展目录在2006-11-02no-debug-non-zts-20060613)之前有一个时间戳。

理想情况下,您需要考虑升级PHP。否则,尝试PECL的Memcache扩展名;哪个,确实提供了一个稳定的版本来匹配你的PHP版本。