Memcache module provides handy procedural and object oriented interface to memcached highly effective caching and its task is decrease database load in dynamic web application
We have already installed XAMPP on the previous post so configure memcache
Note : While installation If you may getting an any errors the solutions are given on this post.
Download memcache and extract that file
# wget http://pecl.php.net/get/memcache-3.0.8.tgz
# tar xf memcache-3.0.8.tgz
# cd memcache-3.0.8
# tar xf memcache-3.0.8.tgz
# cd memcache-3.0.8
Configure memcache :
# /opt/lampp/bin/phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
# ./configure --enable-memcache --with-php-config=/opt/lampp/bin/php-config
...
creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h.
# make && make install
...
Installing shared extensions:
/opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/
Open php.ini configure file Add memcache extension
# vi /opt/lampp/etc/php.ini
extension="memcache.so"
extension="memcache.so"
close vi with :wq!
Install memcached on your system using yum or apt-get
CentOS/Fedora/RHEL:
# yum install memcached
Ubuntu/Debian:
# apt-get install memcached
Start memcache service on system at boot time
# chkconfig --levels 235 memcached on
# /etc/init.d/memcached start
# /etc/init.d/memcached start
To ensure whether the service is running or not
# ps -eaf | grep memcached
memcache 22933 1744 0 16:09 ? 00:00:00 /usr/bin/memcached -m
64 -p 11211 -u memcache -l 127.0.0.1
To check may have memcached installed in the system by phpinfo() function, create a php file with name test.php with below simple code,
<?php
echo phpinfo();
?>
echo phpinfo();
?>
Also, check with command on terminal,
# /opt/lampp/bin/php -i | grep memcache
memcache
memcache support => enabled
memcache.allow_failover => 1 => 1
memcache.chunk_size => 32768 => 32768
memcache.compress_threshold => 20000 => 20000
memcache.default_port => 11211 => 11211
memcache.hash_function => crc32 => crc32
memcache.hash_strategy => consistent => consistent
memcache.lock_timeout => 15 => 15
memcache.max_failover_attempts => 20 => 20
memcache.protocol => ascii => ascii
memcache.redundancy => 1 => 1
memcache.session_redundancy => 2 => 2
Registered save handlers => files user memcache
If you may face an error as same as below,
Error 1 :
# /opt/memcache-3.0.8# /opt/lampp/bin/phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
Solution:
Autoconf and supporting packages does not find in your system follow the steps to be installed
# cd /usr/src
# wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
# tar -zvxf m4-1.4.9.tar.gz
# cd m4-1.4.9/
# ./configure && make && make install
# cd ../
# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
# tar -zvxf autoconf-2.62.tar.gz
# cd autoconf-2.62/
# ./configure && make && make install
# memcached -d
# wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
# tar -zvxf m4-1.4.9.tar.gz
# cd m4-1.4.9/
# ./configure && make && make install
# cd ../
# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
# tar -zvxf autoconf-2.62.tar.gz
# cd autoconf-2.62/
# ./configure && make && make install
# memcached -d
Error 2 :
# /opt/lampp/bin/phpize
grep: /opt/lampp/include/php/main/php.h: No such file or directory
grep: /opt/lampp/include/php/Zend/zend_modules.h: No such file or directory
grep: /opt/lampp/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
Solution:
xmapp-devel package does not found in your XMAPP, download devel package :
# cd /opt
# wget http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.6.6/xampp-linux-devel-1.6.6.tar.gz
# wget http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.6.6/xampp-linux-devel-1.6.6.tar.gz
If you have extracted on the same directory files will be replicated on the lampp
# tar -xf xampp-linux-devel-1.6.6.tar.gz
#/opt/lampp/bin/phpize
#/opt/lampp/bin/phpize
Error 3 :
# ./configure --enable-memcache --with-php-config=/opt/lampp/bin/php-config
....
checking for the location of ZLIB... no
checking for the location of zlib... configure: error: memcache support requires ZLIB. Use --with-zlib-dir=
to specify prefix where ZLIB include and library are located
Solution:
Install libgcrypt11-dev and zlib1g-dev packages in your system,
# apt-get install libgcrypt11-dev
# apt-get install zlib1g-dev
# apt-get install zlib1g-dev
Awesome writeup! Thanks!