0

yesterday i migrated to Rackspace (CentOS 5.5). Everything was already configured (apache, php, mysql, memcached) and working well.

The only thing i forgot, and installed at last was the mail server (iRedMail). After that, for some reason, memcached got kind of screwed up:

[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

I tried reinstalling memcached:

yum install memcached
yum install php-pecl-memcache
service httpd restart

But the error message kept being displayed.

I am pointing to this extension in the php.ini extension=memcache.so and memcache.so is inside /usr/lib64/php/modules (extensions directory). A friend told me to check for missing library dependencies:

[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

Does that linux-vdso.so.1 something to do with my problem? If so, how do i install it? If not, what else could be causing this behavior?

Thanks for your help.

2 Answers 2

1

If you want to get the right version on now make sure you have php-devel installed

pecl install memcache
3
  • hi Mike, actually im using the "memcache" extension instead of the pecl memcached. The problem is definitely because it was installed using a different repo... how could i solve that
    – Andres SK
    Nov 26, 2010 at 2:23
  • if you run that command it will build the memcache extension for your version..
    – Mike
    Nov 26, 2010 at 13:10
  • your command didn't work because i didn't have zlib (yum install zlib-devel). thanks!
    – Andres SK
    Nov 26, 2010 at 14:16
1

PHP 5.2.10 isn't available in the default CentOS repositories, so your output above suggests it was updated using a non-standard repository (I think Remy offer 5.2.10).

The issue is that the repository seems to have only been temporarily enabled so you've installed memcache (possibly as a side effect of iRedMail) using a different repository and so for a different version of PHP.

Try:
yum --enablerepo=* update memcached php-pecl-memcache.

It might not work depending on the validity of the configuration files in /etc/yum.repos.d, it may require you to be more specific about the repository.

4
  • didn't work. this is the result: unipocket.com/enablerepo.txt -- how can i find out details of the repository to post them here for you? Thanks!
    – Andres SK
    Nov 25, 2010 at 15:25
  • Sourced below, but basically yum info php may tell you with a "from repo" line, if not, yum install yum-utils; repoquery -i php. Source: serverfault.com/questions/62026/…
    – James L
    Nov 25, 2010 at 15:33
  • repo results: unipocket.com/repo.txt
    – Andres SK
    Nov 25, 2010 at 22:08
  • definitely, the problem is because memcache was installed using a different repo. BTW, im not using pecl-memcached, im using memcache. How can i install the right version for this repo?
    – Andres SK
    Nov 26, 2010 at 2:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .