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扩展就安装好了。