昨天我迁移到了 Rackspace (CentOS 5.5)。一切都已配置完毕 (apache、php、mysql、memcached) 并且运行良好。
我唯一忘记并最终安装的是邮件服务器 (iRedMail)。之后,由于某种原因,memcached 出现了问题:
[root@mail php.d]# php -v
PHP Warning: PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
in Unknown on line 0
PHP 5.2.10 (cli) (built: Nov 13 2009 11:44:05)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
我尝试重新安装 memcached:
yum install memcached
yum install php-pecl-memcache
service httpd restart
但错误信息一直显示。
我在 php.ini 中指向这个扩展扩展=memcache.so和缓存文件在里面/usr/lib64/php/模块(扩展目录)。一位朋友告诉我检查缺少的库依赖项:
[root@mail 模块]# ldd -v memcache.so
linux-vdso.so.1 => (0x00007fff4e915000)
libc.so.6 => /lib64/libc.so.6 (0x00007f5b90c2b000)
/lib64/ld-linux-x86-64.so.2 (0x0000003aa6800000)
Version information:
./memcache.so:
libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/lib64/libc.so.6:
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
那linux-vdso.so.1这与我的问题有关吗?如果是,我该如何安装它?如果没有,还有什么可能导致此行为?
感谢您的帮助。
答案1
如果你现在想获取正确的版本,请确保已安装 php-devel
pecl install memcache
答案2
PHP 5.2.10 在默认的 CentOS 存储库中不可用,因此上面的输出表明它是使用非标准存储库进行更新的(我认为 Remy 提供 5.2.10)。
问题是该存储库似乎只是暂时启用,因此您使用不同的存储库安装了 memcache(可能是 iRedMail 的副作用),因此使用了不同版本的 PHP。
尝试:
yum --enablerepo=* update memcached php-pecl-memcache
。
根据 /etc/yum.repos.d 中配置文件的有效性,它可能无法工作,可能需要您对存储库进行更具体地说明。