下载libevent ,这个是memcache的支持。从网上找到源码直接编译安装。注:CentOS默认是安装了的所以不需要再这一步。为测试libevent是否安装成功:
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
2.下载安装memcache (这个是给本机安装memcache,如果装php扩展,可略)
这个直接上memcache的官网上下载最新版本,然后解压安装
# tar zxvf memcached-1.*.*.tar.gz
# cd memcached-1.*.*
下面这一步需要者注意的是libevent所在的目录可能和下面的不同,可以通过whereis libevent来查看所在目录
# ./configure --prefix=/usr/local/memchached --with-libevent=/usr/local/libevent
# make;make install
3.安装php的memcache扩展
http://pecl.php.net/get/memcache-2.2.7.tgz (当然也可以下载其他版本)
解压目录然后到目录下然后执行
先找出phpize(至于是干什么的自己搜索)所在位置whereis phpize ,如果没有的话则执行命令yum install php-devel ,因为PHPize 是属于php 的 devel .
执行phpize
执行完毕后进行编译前的配置
./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir
(同样这里需要你找出红字部分所在位置)
make
make install
然后会提示
安装完后会有类似这样的提示:
Installing shared extensions: /usr/lib/php/modules/
把这个记住,然后修改php.ini,把
extension_dir = "./"
修改为
extension_dir = "/usr/lib/php/modules/"
并添加一行
extension=memcache.so
——————————————————————————
到这基本就完成了,然后我们启动memcache,
memcache -uroot -p21003 -m1024 (如果直接这么执行的话则这个窗口就没法退出了还需要以守护进程的方式运行)
——————————————————————————————————
下面写一个php脚本
<?php
$memcache = new Memcache; //创建一个memcache对象
$memcache->connect('localhost', 11211) or die ("Could not connect"); //连接Memcached服务器
$memcache->set('key', 'test'); //设置一个变量到内存中,名称是key 值是test
$get_value = $memcache->get('key'); //从内存中取出key的值
echo $get_value;
?>
——————————————————————————
然后这里可能会出现的问题是 Failed reading line from stream (0)
出现这个问题可能是因为1.内存不够了,你设置的内存过大,崩溃了2.你不是以守护进程执行的,可能后台的memcache已经关闭了
ps aux|grep memcached