PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/memcached.so' - /usr/lib64/php/modules/memcached.so

Rishi Kulshreshtha picture Rishi Kulshreshtha · Jul 23, 2015 · Viewed 7.9k times · Source

I'm working with CentOS 6.5

When I'm executing this php -v

I'm getting the below message:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/memcached.so' - /usr/lib64/php/modules/memcached.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.4.36 (cli) (built: Dec 19 2014 06:28:27)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

As it seems to be a memcached error, when I'm trying this

yum install memcached.x86_64 php-pecl-memcache.x86_64

I'm getting below mentioned errors:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * rpmforge: mirror.team-cymru.org
drivesrvr                                                                                                                                        | 2.2 kB     00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package memcached.x86_64 0:1.4.4-3.el6 will be installed
--> Processing Dependency: libevent-1.4.so.2()(64bit) for package: memcached-1.4.4-3.el6.x86_64
---> Package php-pecl-memcache.x86_64 0:3.0.5-4.el6 will be installed
--> Processing Dependency: php(zend-abi) = 20090626 for package: php-pecl-memcache-3.0.5-4.el6.x86_64
--> Processing Dependency: php(api) = 20090626 for package: php-pecl-memcache-3.0.5-4.el6.x86_64
--> Running transaction check
---> Package libevent.x86_64 0:1.4.13-4.el6 will be installed
---> Package php-pecl-memcache.x86_64 0:3.0.5-4.el6 will be installed
--> Processing Dependency: php(zend-abi) = 20090626 for package: php-pecl-memcache-3.0.5-4.el6.x86_64
--> Processing Dependency: php(api) = 20090626 for package: php-pecl-memcache-3.0.5-4.el6.x86_64
--> Finished Dependency Resolution
Error: Package: php-pecl-memcache-3.0.5-4.el6.x86_64 (base)
           Requires: php(zend-abi) = 20090626
           Installed: php-common-5.4.36-1.el6.remi.x86_64 (@remi)
               php(zend-abi) = 20100525-x86-64
           Available: php-common-5.3.3-38.el6.x86_64 (base)
               php(zend-abi) = 20090626
           Available: php-common-5.3.3-40.el6_6.x86_64 (updates)
               php(zend-abi) = 20090626
           Available: php-common-5.3.3-46.el6_6.x86_64 (updates)
               php(zend-abi) = 20090626
Error: Package: php-pecl-memcache-3.0.5-4.el6.x86_64 (base)
           Requires: php(api) = 20090626
           Installed: php-common-5.4.36-1.el6.remi.x86_64 (@remi)
               php(api) = 20100412-x86-64
           Available: php-common-5.3.3-38.el6.x86_64 (base)
               php(api) = 20090626
           Available: php-common-5.3.3-40.el6_6.x86_64 (updates)
               php(api) = 20090626
           Available: php-common-5.3.3-46.el6_6.x86_64 (updates)
               php(api) = 20090626
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Answer

Remi Collet picture Remi Collet · Jul 23, 2015

You have installed php from "remi" repository which is not enabled by default. So you need to enable it to install additional PHP extension, with correct ABI compatibility.

yum --enablerepo=remi install php-pecl-memcache

Read the FAQ : http://blog.remirepo.net/pages/English-FAQ#enable