0

我有一个包含一些 memcached 操作的应用程序。我已经安装了 php memcached 扩展版本 2.0.1。从配置到安装一切都很顺利,没有错误。

现在在我的应用程序中,我实例化了一个 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 时,情况并非如此。没有自动完成。

4

1 回答 1

0

我相信zend_parse_parameters_none是在 2008 年为 Zend API 引入的。

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 构建。

于 2012-10-09T13:51:53.570 回答