linux下安装配置Memcache和PHP环境的实现
亲测有效
在网上查找了好多资料,很多都安装不成功,而且都是同一个资料相互抄袭泛蓝,没一个实用的。今天配置好了,将配置过程分享一下。
Linux下的Memcache运行需要libevent的支持,所以在安装memcache之前必须要安装libevent。安装过程中可能会遇到很多问题,本人都将可能遇到错误时的解决办法整理出来了。
1、先安装libevent:
#yum -y install libevent libevent-devel
2、安装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放到 /usr/local/bin/memcached。
3、安装Memcache的PHP扩展
3.1 在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本,最新版本memcache-3.0.6.tgz。
3.2 安装PHP的memcache扩展
#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/
4、把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” 就说明配置成功啦~~