Linux下的Memcache运行需要libevent的支持,所以在安装memcache之前必须要安装libevent。安装过程中可能会遇到很多问题,本人都将可能遇到错误时的解决办法整理出来了。
1、先安装libevent:
1 |
yum -y install libevent libevent-devel |
2、安装memcached,最新版本为:memcached-1.4.7.tar.gz,同时指定libevent的安装位置:
1 2 3 4 5 6 7 |
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放到 /usr/local/bin/memcached。
3、安装Memcache的PHP扩展
3.1 在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本,最新版本memcache-3.0.7.tgz。
3.2 安装PHP的memcache扩展
1 2 3 4 5 6 |
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.7/tmp-php.ini
More .INIs :
CWD : /home/memcache-3.0.7
Extra dirs :
VALGRIND : Not used
#make install
(注:
1 phpize没有找到
解决方法:
centos是默认没有安装php-devel的yum -y install php-devel
2 make: *** [memcache.lo] Error 1
没有安装zlib
1 |
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/
4、把php.ini中的extension_dir = “./”修改为:
1 |
vi /etc/php.ini |
extension_dir = “/usr/lib/php/modules/”
在其下添加一行来载入memcache扩展:extension=memcache.so
memcached的基本设置:
1.启动Memcache的服务器端:
1 |
/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的魅力把!
1 2 3 4 5 6 |
<?php $mem = new Memcache; $mem->connect("localhost", 11211); $mem->set('test','hello world',0,60); echo $mem->get('test'); ?> |
如果显示“hello world” 就说明配置成功啦