Stuck with “Error memcached support requires libmemcached”? we can help you.
Often while trying to install memcached we may end up with this error. This error is common for both Plesk and cPanel.
Here at Bobcares, we often handle requests from our customers to fix similar errors as a part of our Server Management Services. Today we will see how our support engineers fix this for our customers.
Causes and Fixes for “Error memcached support requires libmemcached”
We will see what causes this error in Plesk as well as cPanel servers along with their fixes.
Plesk
The error typically looks like the following one in Plesk servers:
Cause
The libmemcached-devel
package missing.
Steps to fix this error
Following are the steps to fix this error in the Plesk server.
1. First log in to the server via SSH.
2. Then use the following command to install the package depending upon the operating system(OS):
RHEL/CentOS/CloudLinux:
# yum install libmemcached-devel
Ubuntu/Debian:
# apt-get install libmemcached-dev
cPanel
The error typically looks like the following one in cPanel servers:
If Installing memcached from WHM » Software » Module Installers was not successful it triggers the error. A typical error may look like the one given below.
The exact steps for the installation given below:
1.Run the following commands:
wget https://github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz --no-check-certificate
tar -xvf libevent-2.0.17-stable.tar.gz
cd libevent-2.0.17-stable
./configure
make && make install
cd ~
wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz
tar -xzf memcached-1.4.13.tar.gz
cd memcached-1.4.13
./configure
make && make install
2. After installing these components we have to create the following file:
For 32-bit machine
echo "/usr/local/lib/" > /etc/ld.so.conf.d/libevent-i386.conf
For 64-bit machine
echo "/usr/local/lib/" > /etc/ld.so.conf.d/libevent-x86_64.conf
3. Then Run the following commands:
ldconfig
memcached -d -u nobody -m 1024 127.0.0.1 -p 11211
4. Next, we can install libsasl2 using the following command:
yum install cyrus-sasl-devel
5. Then we will install libmemcached using the following command:
cd ~
wget http://launchpad.net/libmemcached/1.0/1.0.4/+download/libmemcached-1.0.4.tar.gz
tar -zxvf libmemcached-1.0.4.tar.gz
cd libmemcached-1.0.4
./configure
make && make install
pecl install memcached
6. Now we can run the following to check if memcached.so is installed into /usr/local/lib/php.ini file. We can add it if is it not.
grep -q "memcached.so" /usr/local/lib/php.ini || echo 'extension=memcached.so' >> /usr/local/lib/php.ini
7. We can check the extension directory that we are using, with the following command:
for i in `grep ^extension_dir /usr/local/lib/php.ini | awk {'print $3'} | cut -d\" -f2` ;do ls -lah $i/memcache* ;done
8. Also, to preserve the memcached.so module on EasyApache recompiles we have to do the following:
for i in `grep ^extension_dir /usr/local/lib/php.ini | awk {'print $3'} | cut -d\" -f2` ;do cp $i/memcached.so /root ;done
for i in `grep ^extension_dir /usr/local/lib/php.ini | awk {'print $3'} | cut -d\" -f2` ;do echo -e '#!/bin/bash\ncp /root/memcached.so' "$i\ngrep -q 'memcached.so' /usr/local/lib/php.ini || echo 'extension=memcached.so' >> /usr/local/lib/php.ini\n/etc/init.d/httpd restart" > /usr/local/cpanel/scripts/posteasyapache ;done
chmod +x /usr/local/cpanel/scripts/posteasyapache
This will create a posteasyapache script that will ensure memcached.so is copied from /root/memcached.so back into the php extension directory.
9. Finally using the following commands we can ensure that the installation was done properly and is complete.
root@host [~]# php -i | grep -i memcached
memcached
memcached support => enabled
libmemcached version => 1.0.4
Registered save handlers => files user sqlite memcached
[Still, stuck with the error? We can help you]
Conclusion
In short, we saw how our Support Techs fix “error memcached support requires libmemcached” for our customers.
0 Comments