我有一个带有一些memcached操作的应用程序。我已经安装了php memcached扩展版本2.0.1。从configure到make install一切顺利,没有错误。
现在在我的应用程序中我实例化一个memcached实例,当我运行addServer或get或set等方法时,一切运行正常。但是当我解雇getStats
或getVersion
时,我收到此错误
/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时,同样不是这样。没有自动填充功能。
答案 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-02(no-debug-non-zts-20060613
)之前有一个时间戳。
理想情况下,您需要考虑升级PHP。否则,尝试PECL的Memcache扩展名;哪个,确实提供了一个稳定的版本来匹配你的PHP版本。