在网上查找了好多资料,不少都安装不成功,并且都是同一个资料相互抄袭泛蓝,没一个实用的。今天配置好了,将配置过程分享一下。php
Linux下的Memcache运行须要libevent的支持,因此在安装memcache以前必需要安装libevent。安装过程当中可能会遇到不少问题,本人都将可能遇到错误时的解决办法整理出来了。apache
一、先安装libevent:vim
#yum -y install libevent libevent-develcentos
二、安装memcached,最新版本为:memcached-1.4.7.tar.gz,同时指定libevent的安装位置:
# cd /home服务器
# wget http://memcached.googlecode.com/files/memcached-1.4.7.tar.gz
# tar zxvf memcached-1.4.7.tar.gz并发
# cd memcached-1.4.7
# ./configure -with-libevent=/usr
# make
# make install
若是中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增长相应的库或者路径。memcached
安装完成后会把memcached放到 /usr/local/bin/memcached。测试
三、安装Memcache的PHP扩展ui
3.1 在http://pecl.php.net/package/memcache选择相应想要下载的memcache版本,最新版本memcache-3.0.6.tgz。
3.2 安装PHP的memcache扩展google
#wget http://pecl.php.net/get/memcache-3.0.7.tgz
#tar zxvf memcache-3.0.7.tgz
#cd memcache-3.0.7
#phpize
#./configure -enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir
#make
编译完成以后会提示:
Don't forget to run 'make test'.
#make test
Build complete.
Don't forget to run 'make test'.
=====================================================================
PHP : /usr/bin/php
PHP_SAPI : cli
PHP_VERSION : 5.3.2
ZEND_VERSION: 2.3.0
PHP_OS : Linux - Linux candy 2.6.32-71.el6.i686 #1 SMP Fri Nov 12 04:17:17 GMT 2010 i686
INI actual : /home/memcache-3.0.6/tmp-php.ini
More .INIs :
CWD : /home/memcache-3.0.6
Extra dirs :
VALGRIND : Not used
#make install
(注:
1 phpize没有找到
解决方法:
centos是默认没有安装php-devel的yum -y install php-devel
2 make: *** [memcache.lo] Error 1
没有安装zlib
yum -y install zlib-devel
3 配置的命令改成:./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir其中enable和with前面是两个--)
上述安装完后会有相似这样的提示:
Installing shared extensions: /usr/lib/php/modules/
四、把php.ini中的extension_dir = “./”修改成:
#vim /etc/php.ini
extension_dir = "/usr/lib/php/modules/"
在其下添加一行来载入memcache扩展:extension=memcache.so
memcached的基本设置:
1.启动Memcache的服务器端:
#/usr/local/bin/memcached -d -m 256 -u nobody -l localhost -p 11211
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是256MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,若是有多个地址的话,我这里指定了服务器的IP地址localhost,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发链接数,默认是1024,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,
2.重启apache,service httpd restart
Memcache环境测试:
运行下面的php文件,若是有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!
<?php
$mem = new Memcache;
$mem->connect("localhost", 11211);
$mem->set('test','hello world',0,60);
echo $mem->get('test');
?>
若是显示“hello world” 就说明配置成功啦~~