简介:

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。
如果你想要在你的PHP应用程序中使用Memcached,你得先在你的服务器上安装Memcached。

下面是安装步骤:
一、安装Memcached:
cd /usr/local/src
wget -c http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar vxzf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --prefix=/usr/local/memcached
make
make install

安装完成后,直接启动Memcached:

cd /usr/local/memcached/bin

./memcached -d -m 128 -p 11211 -u www

参数说明:

-d选项是启动一个守护进程

-m分配给Memcache使用的内存数量,单位是MB,我这里是10MB

-u运行Memcache的用户,我这里是root

-l监听的服务器IP地址,如果有多个地址的话

-p设置Memcache监听的端口,比如11211,最好是1024以上的端口

-c最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定

-P设置保存Memcache的pid文件,比如 /tmp/memcached.pid

如果要结束Memcache进程,执行:

kill `cat /tmp/memcached.pid`

将Memcached 设定为开机启动:

echo /usr/local/memcached/bin/memcached -d -m 128 -p 11211 -u www' >> /etc/rc.local

二、安装memcache PHP支持模块:

Memcache PHP支持模块需要libevent支持,先确认是否安装:

wget -c http://monkey.org/~provos/libevent-2.0.10-stable.tar.gz
tar zxvf libevent-2.0.10-stable.tar.gz
cd libevent-2.0.10-stable/
./configure --prefix=/usr
make
make install
cd ../

安装Memcache PHP 支持模块

cd /usr/local/src
wget -c http://pecl.php.net/get/memcache-2.2.6.tgz
tar vxzf memcache-2.2.6.tgz
cd memcache-2.2.6
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-apxs=/usr/local/apache/bin/apxs
--with-gettext
--enable-socket
--enable-memcache
--enable-sysvshm
--enable-shmop

make
make install

安装完后会有类似这样的提示:

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/configure: error:
You've configured extension memcache, which depends on extension session,
but you've either not enabled session, or have disabled it.
添加编译参数 --disable-memcache-session

三、修改php.ini 支持Meecache:

编辑php.ini文件,直到以下代码:

extension_dir = "./"

修改为:

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"

并在以下添加:

extension=”memcache.so”

现在,Memcached正式安装完毕,做一个测试脚本看看是否正式启动吧~

<?php
$mem = new Memcache;
$mem->connect("服务器IP地址",11211);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>

 

#Success good luck for you!