Memcached 是高性能的分布式内存缓存服务器,而PHP memcache 和 memcached 都是 Memcached 服务器的 PHP 扩展。其中memcache 比 memcached 早出现,所以一些老的代码可能还在用 memcache 扩展。memcached 后来出现,并且大部分框架都支持 memcached,现在相对较流行。可以根据自己需要,安装一个就可以。
以下已centos 系统安装为例,ubuntu、debian也差不多。
第一步:安装memcached
yum install libevent libevent-devel
wget http://www.memcached.org/files/memcached-1.4.39.tar.gz
tar zxf memcached-1.4.39.tar.gz
cd memcached-1.4.39
./configure --prefix=/usr/local/memcached
make
make install
我这里选择编译安装,下载现在最新的1.4.39版本。
第二步:配置memcached
默认不用配置,主要加一个服务脚本。
vi /etc/init.d/memcached
内容类似如下:
#! /bin/bash
#
# memcached: MemCached Daemon
#
# chkconfig: - 90 25
# description: MemCached Daemon
#
### BEGIN INIT INFO
# Provides: memcached
# Required-Start: $syslog
# Required-Stop: $syslog
# Should-Start: $local_fs
# Should-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: memcached - Memory caching daemon
# Description: memcached - Memory caching daemon
### END INIT INFO
IP=0.0.0.0
PORT=11211
USER=root
MAXCONN=1000
CACHESIZE=128
OPTIONS=""
RETVAL=0
prog="memcached"
start() {
echo -n "Starting $prog: "
/usr/local/memcached/bin/memcached -d -l $IP -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached.pid $OPTIONS
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
else
touch /var/lock/subsys/memcached
echo " done"
fi
}
stop() {
echo -n "Stopping $prog: "
if [ ! -f "/var/run/$prog.pid" ]; then
echo "$prog is not running."
exit 1
fi
kill `cat /var/run/memcached.pid`
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
else
rm -f /var/lock/subsys/memcached
rm -f /var/run/memcached.pid
echo " done"
fi
}
restart() {
$0 stop
sleep 2
$0 start
}
status() {
if [ -f "/var/run/$prog.pid" ]; then
echo "$prog is running."
else
echo "$prog is stopped."
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload}"
exit 1
;;
esac
exit $?
配置开机自动启动
chmod +x /etc/init.d/memcached
chkconfig memcached on
第三步:启动memcached
service memcached start
查看进程和端口,看到如下图说明memcached安装和启动成功。
第四步:安装php扩展
wget http://pecl.php.net/get/memcache-2.2.7.tgz
tar zxf memcache-2.2.7.tgz
cd memcache-2.2.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
php安装目录根据自己实际修改。
修改你的 php.ini 配置文件,在最后添加:
[memcache]
extension=memcache.so
重启php
/etc/init.d/php-fpm restart
正常情况memcache扩展就安装好了。