centos6 PHP安装memcache和memcached

一, memcache和memcached的区别与关系统
php要想去访问memcached就得需要memcache扩展,这个道理和php连接mysql一样。 你不安装memcache扩展就没法识别memcache协议。php安装memcache扩展后,还需要安装memcached服务。 php相当于客户端,memcached相当于服务端。
二,yum 安装 memcached
yum install memcached

三,memcache在php中编译编译memcache有二种方法
1 直接使用PHP默认的模板进行编译安装
/usr/local/php/bin/pecl install memcache

2从网上下载源码包进行编译安装
wget http://www.lishiming.net/data/attachment/forum/memcache-2.2.3.tgz
tar zxvf memcache-2.2.3.tgz
cd memcache-2.2.3yum install autoconf   //不安装的话会在编译的时候会提示缺少autoconf错误 
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

3无论使用以上二种方法的哪种在编译后都会提示与下面类似的内容:
出现如下提示
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
这个目录是memcache.so所在的路径
mkdir /usr/local/php/ext    //php安装目录里原本是没有这个目录的

把memcache.so 拷贝至php的extension_dir下,
这里的模块路径是编译安装后提示的那个路径
cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626//memcache.so /usr/local/php/ext/  
查看php extension_dir的方法是  /usr/local/php/bin/php -i |grep extension_dir 
修改扩展路径,在php.ini中修改:
extension_dir = "/usr/local/php/ext"
然后在php.ini 中添加
extension = memcache.so

保存后可以利用 /usr/local/php/bin/php -m  检测和查看具体的参数
也可以使用phpinfo()函数查看具体信息:
centos6 PHP安装memcache和memcached_第1张图片
 
四,测试PHP程序
vim /usr/local/apache2/htdocs/test.php
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211); 
//参数一是本机地址,当然也可是其他机器的地址,参数二是端口号
//保存数据
$mem->set('hello', 'hello world', 0, 60);
$val = $mem->get('hello');
echo $val;
?>
然后在浏览器里输入 本机IP/test.php
成功的话显示
 hello world

五,附:手动编译memcached
memcached 的编译安装
wget http://syslab.comsenz.com/downloads/linux/memcached-1.4.5.tar.gz

tar zxvf memcached-1.2.8.tar.gz
cd  memcached-1.2.8
./configure --prefix=/usr/local/memcached
make && make install

启动:

/usr/local/memcached/bin/memcached -m 2048 -p 11211 -l 127.0.0.1 -d -u www
-m  后边指定memecached使用多少内存,单位是M
-p  指定memcached 启动端口
-l  指定绑定的IP
-u  指定以某个账户的身份启动

在安装memcached之前需要安装libevent支持:

#wget http://www.monkey.org/~provos/libevent-1.3b.tar.gz
#cd libevent-1.3b
#./configure --prefix=/usr/local/libevent
#make && make install

注意:可能在启动memcached的时候报以下错误:
#/usr/local/memcached/bin/memcached -m 2048 -p 11211 -l 127.0.0.1 -d -u www
/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.3b.so.1: cannot open shared object file: No such file or directory
那么需要把 libevent-1.2a.so.1 拷贝或链接到 /usr/lib 中,否则 memcached 无法正常加载。  cp /usr/local/libevent/lib/libevent-1.3b.so.1 /usr/lib

如果还是出现相同错误,则把/usr/lib放到动态库文件中:
#echo "/usr/lib" >> /etc/ld.so.conf
#ldconfig
至此,安装memcached结束!,再启动memcached就不报找不到libevent-1.3b.so模块了


更多Linux方面的资料请访问: http://www.aminglinux.com/bbs/?fromuid=4297

你可能感兴趣的:(Linux)