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.

1

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

pecl install memcache
  • 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 '10 at 2:23
  • if you run that command it will build the memcache extension for your version.. – Mike Nov 26 '10 at 13:10
  • your command didn't work because i didn't have zlib (yum install zlib-devel). thanks! – Andres SK Nov 26 '10 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.

  • 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 '10 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 '10 at 15:33
  • repo results: unipocket.com/repo.txt – Andres SK Nov 25 '10 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 '10 at 2:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.