昨天我迁移到了Rackspace(CentOS 5.5)。 一切都已经configuration好了(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和memcache.so位于/ usr / lib64 / php / modules (扩展目录)中。 一位朋友告诉我检查缺失的库依赖关系:
[root @ mail modules]#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与我的问题有关系吗? 如果是这样,我该如何安装? 如果不是,还有什么可能导致这种行为?
谢谢你的帮助。
如果你现在想要得到正确的版本,确保你已经安装了php-devel
pecl install memcache
PHP 5.2.10在默认的CentOS仓库中是不可用的,所以上面的输出表明它使用了非标准的仓库(我认为Remy提供了5.2.10)。
问题是版本库似乎只是暂时启用,所以你已经安装了memcache(可能是iRedMail的一个副作用)使用不同的存储库,所以不同版本的PHP。
尝试:
yum --enablerepo=* update memcached php-pecl-memcache 。
根据/etc/yum.repos.d中的configuration文件的有效性,它可能无法工作,可能需要您更加具体地了解存储库。