首页 > 编程 > PHP > 正文

CentOS安装memcached及配置php的memcache扩展

2020-03-22 17:28:00
字体:
来源:转载
供稿:网友
  • 一 下载需要的源码包

    所有安装包均选用最新的。
    1. 下载libevent2.0.22

    下载地址:http://libevent.org/
    如图:
    点击红色部分下载

    下载memcached1.4.24

    下载地址:http://memcached.org/
    如图:
    点击红色部分,下载最新版本

    下载php扩展memcache3.0.8

    下载地址:http://pecl.php.net/package/memcache
    如图:
    选择需穴kyqq1xLDmsb4=" title="">

    二 安装详细步骤

    首先将以上三个软件包下载到/tmp目录下
    1. 安装libevent

    cd /tmp  #首先进入到该下载包的目录tar zxvf libevent-2.0.22-stable.tar.gz #解压包cd libevent-2.0.22-stable #进入到解压的目录./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改make; make install #编译+安装

    测试是否安装成功
    看到这些信息,表示成功啦
    2. 安装memcached

    cd /tmp  #首先进入到该下载包的目录tar zxvf memcached-1.4.24.tar.gz #解压包cd memcached-1.4.24 #进入到解压的目录./configure –with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致make; make install #编译+安装

    测试是否安装成功
    表示成功的信息
    通过以上操作,就完成了memcached服务器的安装。特别的简单吧!现在就来搞一搞memcache的php扩展安装吧
    3. 安装扩展

    cd /tmp  #首先进入到该下载包的目录tar zxvf memcache-3.0.8.tgz #解压包cd memcache-3.0.8 #进入到解压的目录/opt/lampp/bin/phpize #动态为php添加扩展。phpize路径可能不一致,请根据自己的实际情况./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config请根据自己环境情况填写make; make install #编译+安装

    完成以上步骤时,心情愉悦的点击了enter,准备喝口水潇洒一下,结果出现了一下错误(这也是我写这篇博客的原因,要不都懒得记录了)
    错误信息
    看了下代码错误信息,说是zlib.h找不到。找不到就给他安一个嘛。真是的

    安装zlib
    下载zlib-1.2.8.tar.gz

    下载地址:http://www.zlib.net/
    如图:
    红色部分点击

    cd /tmp  #首先进入到该下载包的目录tar zxvf zlib-1.2.8.tar.gz #解压包cd zlib-1.2.8 #进入到解压的目录./configure --prefix=/usr/local/zlibmake; make install #编译+安装

    再进行配置一下系统的文件,加载刚才编译安装的zlib生成的库文件
    vi /etc/ld.so.conf.d/zlib.conf
    加入如下内容后保存退出: /usr/local/zlib/lib
    也就是添加安装目录的文件路径,库文件。ldconfig 运行之后就会加载安装的库文件了。

    OK,到这一步了,此时,重新在memcache的php扩展中执行make;make install命令
    如果看到以下信息,表示成功:
    扩展安装成功

    三 配置php.ini文件

    首先通过phpinfo函数,找到php.ini的路径,我的是:/opt/lampp/etc/php.ini
    在其中添加如下内容:

    修改extension_dir路径:
    extension_dir = “/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/” extension=memcache.so
    [Memcache]
    memcache.allow_failover = 1
    memcache.max_failover_attempts=20
    memcache.chunk_size =8192
    然后重新启动apache,再次通过phpinfo查看一下情况。如果有如下内容,表示配置成功:
    信息

    四 配置memcached服务器启动memcached服务器
    memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

    参数说明:
    -d选项是启动一个守护进程,
    -m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
    -u是运行Memcache的用户,我这里是root,
    -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1,
    -p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
    -c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
    -P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
    2. 结束memcached进行
    kill cat /tmp/memcached.pid
    3. 检查memcached是否已经启动
    看到绿色框中内容,就表示完成

    五 测试php的memcache扩展
    <?php    $mem = new Memcache;    $mem->connect("192.168.12.201", 13001);    $mem->set('key','This is a test!', 0, 60);    $val = $mem->get('key');    echo $val;?>

    写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。如果有朋友现在win环境下安装,请参考:http://blog.csdn.net/hel12he/article/details/43758733

    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表