您的位置:新葡亰496net > 奥门新萄京娱乐场 > 新葡亰496netphp扩展memcached和memcache的安装配置方法

新葡亰496netphp扩展memcached和memcache的安装配置方法

发布时间:2019-09-27 13:49编辑:奥门新萄京娱乐场浏览(60)

    百度云安装包:  k3ap

    centos下php安装memcached模块

    安装所要软件

    wget

    wget

    memcached的官方网站

    安装libmemcached

    tar zxvf libmemcached-0.42.tar.gz
    cd libmemcached-0.42
    ./configure –-prefix=/usr/local/libmemcached –-with-memcached
    make && make install

    安装要注意的问题:

    1, 安装过程中不要忘了,–with-memcached,不然会提示你

    checking for memcached… no
    configure: error: “could not find memcached binary”

    2,你的memcached是不是1.2.4以上的,如果不是会提示你

    clients/ms_thread.o: In function `ms_setup_thread’:
    /home/zhangy/libmemcached-0.42/clients/ms_thread.c:225: undefined reference to `__sync_fetch_and_add_4′
    clients/ms_thread.o:/home/zhangy/libmemcached-0.42/clients/ms_thread.c:196: more undefined references to `__sync_fetch_and_add_4′ follow
    collect2: ld returned 1 exit status
    make[2]: *** [clients/memslap] Error 1
    make[2]: Leaving directory `/home/zhangy/libmemcached-0.42′

    解决办法是–disable-64bit LAGS=”-O3 -march=i686″,

    最好的方法是换个版本的软件

    ./configure --prefix=/usr/local/libmemcached --with-memcached

    如果不用这个64位的long型数据,我想php扩展memcached,memcache也就没什么区别了,装memcached也就没什么意思了。

    php的扩展memcached的安装

    tar zxvf memcached-1.0.2.tar.gz
    cd memcached-1.0.2
    /usr/local/php/bin/phpize

    ./configure --with-memcached -with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached

    make && make install

    vi /usr/local/php/lib/php.ini

    加上extension=memcached.so重起一下服务就可以了。

    安装所要软件 wget wget...

    php连接memcached缓存服务器的客户端有两个,一个是memcache是比较底层的开发库,memcached是比较新的开发库,php安装这两个扩展中的任意一个后就可以在编写php代码时使用的memcached缓存数据,达到缓存php执行的结果

    一、编译环境的准备

    1、安装memcached

      Memcached是基于libevent的事件处理,所以它的安装依赖libevent。因此我们首先需要将libevent安装好,再进行安装memcached。

      Libevent官网:

      Memcached官网:

      安装libevent:

    #tar –zxvf libevent-1.4.9-stable.tar.gz
    
    #cd libevent-1.4.9-stable
    
    #./configue --prefix=/usr
    
    #make&make install
    

     

    安装memcached:

    #tar –zxvf memcached-1.4.25.tar.gz
    
    #cd memcached-1.4.25
    
    #./configue --with-libevent=/usr --prefix=/usr/local
    
    #make&make install
    

     

    试运行:

    # /usr/local/bin/memcached -u 用户名
    
    #ps –A|grep memcached       (查看是否有memcached进程)
    

     

    具体启动参数以及指令可以参考:

     

    1、安装memcache tar -zxvf memcache-2.2.7.tgz
    cd memcache-2.2.7
    /usr/local/php/bin/phpize
    ./configure –with-php-config=/usr/local/php/bin/php-config 
    make && make install
    安装成功后会有如下类似提示
    Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
    在 /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/ 该目录下会生成memcache.so
    编辑 php.ini添加如下
    extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so
    重启php-fpm
    查看是否已经加载memcache模块
    新葡亰496net 1

      yum install gcc

    2、安装PHP中的memcache扩展

      官网下载:

      安装:

    # tar zxvf memcache-2.2.4.tgz
    
    # cd memcache-2.2.4 cd
    
    # /usr/local/php/bin/phpize
    
    # ./configure --with-php-config=/usr/local/php/bin/php-config
    
    #make&make install
    

      配置:

      (生成的.so扩展文件)

    # ls -l /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/memcache.so
    
    # vi /usr/local/php/lib/php.ini
    

     

      添加extension = memcache.so

      保存,重启apache

      测试:

      1、建立一个test.php文件,能够生成memcache对象则表示安装扩展成功

    <?php
        $m=new memcache();
        Var_dump($m);
    ?>
    

     

       2、查看phpinfo();

    新葡亰496net 2

     

    2、安装memcached 由于memcached是基于libmemcached开发的因此要先安装libmemcached

      yum install gcc-c libstdc -devel

    3、安装libmemcached

      官网下载:

      简述软件:

    新葡亰496netphp扩展memcached和memcache的安装配置方法,memcached的安装以及php两个扩展软件安装。  libmemcached是memcached的C客户端,它具有的优点是低内存,线程安全等特点。

      其中libmemcached版本1.0.9往上需要使用跟高级的gcc编译安装(它依赖更高级版本gcc的库)

      假若gcc版本过低则:

      yum install gcc44 gcc44-c libstdc 44-devel

      安装过程:

    # tar zxvf libmemcached-1.0.18.tar.gz
    
    # cd libmemcached-1.0.18
    
    #./configure --prefix=/usr/local/libmemcached --with-memcached
    
    #make  &&  make install
    

      【一般来说,gcc版本ok,安装就能ok】

      安装要注意的问题:

      1、最好能够设置安装目录,--prefix

      【以下两个来自网上,我安装时没有遇到这两个问题】

      2、安装过程中不要忘了,–with-memcached,不然会提示你

    checking for memcached… no
    configure: error: “could not find memcached binary”

      3、你的memcached是不是1.2.4以上的,如果不是会提示你

    clients/ms_thread.o: In function `ms_setup_thread’:
    /home/zhangy/libmemcached-0.42/clients/ms_thread.c:225: undefined reference to `__sync_fetch_and_add_4′
    clients/ms_thread.o:/home/zhangy/libmemcached-0.42/clients/ms_thread.c:196: more undefined references to `__sync_fetch_and_add_4′ follow
    collect2: ld returned 1 exit status
    make[2]: *** [clients/memslap] Error 1
    make[2]: Leaving directory `/home/zhangy/libmemcached-0.42′

    解决办法是–disable-64bit CFLAGS=”-O3 -march=i686″,如果不用这个64位的long型数据,我想php扩展memcached,memcache也就没什么区别了,装memcached也就没什么意思了。

     

    安装libmemcached要安装gcc44 gcc44-c
    yum  install  gcc*
    export CC="gcc44"
    export CXX="g 44"

      yum install zlib-devel

    4、安装PHP中的memcached扩展

      memcached的1.2.4及以上增加了CAS(Check and Set)协议,对于同一key的多进行程的并发处理问题。php的扩展memcache,不支持cas,所以我们要装memcached扩展,memcached扩展是基于libmemcached,所以要先安装libmemcached。

      php中的memcache扩展与memcached扩展相对比,memcache扩展已经停止了维护且功能相对较少;而memcached扩展一直有维护更新,功能强大。

      官网下载:

    【安装memcached扩展注意】

      如果libmemcached被安装在一个非标准路径,使用--with-libmemcached-dir=DIR 来指定路径,DIR就是libmemcached安装时的prefix参数。这个路径需要包含文件include/libmemcached/memcached.h。

      如果要支持压缩就需要zlib。对于非标准安装的zlib库,使用--with-zlib-dir=DIR 来指定zlib安装路径,DIR就是zib安装时的prefix参数

    session处理器的支持默认是开启的。如果要关闭它,使用选项--disable-memcached-session

    # tar -zxvf memcached-2.2.0.tgz
    
    # cd memcached-2.2.0
    
    # /usr/local/php/bin/phpize
    
    #./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --with-memcached --with-zlib-dir=/usr/local/zlib --enable-memcached-igbinary --disable-memcahed-sasl
    
    # make && make install
    

      【注意】上面的编译时:

      “--with-zlib-dir=/usr/local/zlib”:表示在缓存数据时用到压缩函数,如果不需要压缩的话那就不需要安装了。安装方法如下

      “--enable-memcached-igbinary”:igbinary是一个序列化工具,它将php的数据结构存储为紧密的二进制形式,在时间和空间上都有所改进,可以提高性能。要想带上这个参数那么就需要安装它 。安装方法如下

    查看:

    新葡亰496net 3

     

    tar -zxvf libmemcached-1.0.18.tar.gz   
    cd libmemcached-1.0.18
    ./configure –prefix=/usr/local/libmemcached
    make && make install

     

    5、安装zlib与igbinary

      官方下载: (zlib)

             (igbinary)

    【安装zlib】

    # tar -xvzf zlib-1.2.5.tar.gz
    
    # cd zlib-1.2.5.tar.gz
    
    # ./configure --prefix=/usr/local/zlib
    
    # make && make install
    

     

    【安装igbinary扩展】

    igbinary是php中的一个扩展

    # tar –zxvf igbinary-1.1.1.tgz
    
    # cd igbinary-1.1.1
    
    # /usr/lcoal/php/bin/phpize
    
    # ./configure
    
    # make && make install
    

     

     

    (以上是自己的一些见解,若有不足或者错误的地方请各位指出)

    作者:那一叶随风

     声明:本博客文章为原创,只代表本人在工作学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文链接

    tar -zxvf memcached-2.2.0.tgz
    cd memcached-2.2.0
    /usr/local/php/bin
    ./configure –with-php-config=/usr/local/php/bin/php-config
        –with-libmemcached-dir=/usr/local/libmemcached/
    make && make install
    安装完成后也有类似memcache的提示
    在 /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525 路径下会出现memcached.so
    编辑 php.ini添加如下
    extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/memcached
    重启php-fpm查看php是否支持了memcached
    新葡亰496net 4 

    二、源码包准备

    您可能感兴趣的文章:

    • PHP中的Memcache详解
    • php模块memcache和memcached区别分析
    • PHP memcache扩展的三种安装方法
    • PHP操作Memcache实例介绍
    • windows环境下php配置memcache的具体操作步骤
    • centos系统为php安装memcached扩展步骤
    • 基于php使用memcache存储session的详解
    • PHP memcache实现消息队列案例分享
    • Memcache 在PHP中的使用技巧
    • PHP MemCached高级缓存配置图文教程
    • PHP数据库操作二:memcache用法分析

     

    wget

    wget

     

     

    三、安装与配置

     

    1、安装libevent

     

     

     

     

    tar zxvf libevent-1.4.14b-stable.tar.gz  

    cd libevent-1.4.14b-stable  

    ./configure --prefix=/usr/local/libevent/  

    make && make install  

    ln -s /usr/local/libevent/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2  

    2、安装Memcached

     

     

     

     

     

    tar zxvf memcached-1.4.15.tar.gz  

    cd memcached-1.4.15  

    ./configure --prefix=/usr/local/memcached/ --with-libevent=/usr/local/libevent/  

    make && make install  

     

    3、启动Memcached

     

     

     

     

     

    /usr/local/memcached/bin/memcached -d -m 64 -u root -l 127.0.0.100 -p 11211 -c 128 -P /tmp/memcached.pid  

    4、为了方便管理,写个SHELL脚本。

     

    #  

    # 以下内容摘自互联网  

    vi /etc/rc.d/init.d/memcached  

    #!/bin/sh  

    #  

    # memcached:    MemCached Daemon  

    # chkconfig:    - 90 25  

    # deion:  MemCached Daemon  

    # Source function library.  

    . /etc/rc.d/init.d/functions  

    . /etc/sysconfig/network  

    #[ ${NETWORKING} = "no" ]新葡亰496net, && exit 0  

    #[ -r /etc/sysconfig/dund ] || exit 0  

    #. /etc/sysconfig/dund  

    #[ -z "$DUNDARGS" ] && exit 0  

    start()  

    {  

            echo -n $"Starting memcached: "  

            daemon $MEMCACHED -u daemon -d -m 64 -l 127.0.0.100 -p 11211 -c 128 -P /tmp/memcached.pid  

            echo  

    }  

    stop()  

    {  

            echo -n $"Shutting down memcached: "  

            killproc memcached  

            echo  

    }  

    MEMCACHED="/usr/local/memcached/bin/memcached"  

    [ -f $MEMCACHED ] || exit 1  

    # See how we were called.  

    case "$1" in  

            start)  

                    start  

                    ;;  

            stop)  

                    stop  

                    ;;  

            restart)  

                    stop  

                    sleep 3  

                    start  

                    ;;  

            *)  

                    echo $"Usage: $0 {start|stop|restart}"  

                    exit 1  

    esac  

    exit 0  

    5、添加Memcached开机启动

     

     

     

     

     

    cd /etc/rc.d/init.d/  

    chmod 777 memcached  

    chkconfig --add memcached  

    chkconfig --level 235 memcached on  

    chkconfig --list | grep memcached  

    6、Memcached使用

     

     

     

     

     

    service memcached start  

    service memcached stop  

    service memcached restart  

    四、PHP安装Memcache扩展(memcache与memcached扩展二选一即可,建议安装下面的memcached)

     

    [root~] wget -c  

    [root~] tar -zxvf memcache-3.0.8.tgz  

    [root~] cd memcache-3.0.8  

    [root~] /usr/local/php/bin/phpize  

    [root~] ./configure  --with-php-config=/usr/local/php/bin/php-config --enable-memcache --with-zlib-dir  

    [root~] make && make install  

    /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so  

    [root~] vim /usr/local/php/etc/php.ini  

    extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so  

    session.save_handler = memcache  

    session.save_path = "tcp://127.0.0.100:11211"  

    [root~] service php-fpm reload  

     

     

    php5.5 版本的memcache扩展安装方法:

     

     

    因为php5.5 版本内置了memcache扩展 所以无需下载第三方插件直接 执行如下操作即可  

    cd /usr/local/php/bin  

    ./pecl install memcache  

    安装时会提示是否开启session支持,根据需要输入no 或者 yes,安装后路径如下:  

    /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so  

    需要手动配置到php.ini中,增加如下内容,即表示启用memcache扩展:  

    extension=memcache.so  

     

     

    补充:PHP的Memcache扩展的安装后发现一个问题,SESSION会出现丢失,这可能是安装Memcached服务端的时候,防火墙没有添加11211端口,修改防火墙规则后,一切正常。

    五、PHP memcached 扩展的安装(注意这里是memcached非memcache)

     

     

     

     

    wget  

    tar -zxvf libmemcached-1.0.16.tar.gz   

    cd libmemcached-1.0.16   

    ./configure --prefix=/usr/local/libmemcached --with-memcached  

    make && make install   

      

    wget  

    tar zxvf memcached-2.2.0.tgz  

    cd memcached-2.2.0  

    /usr/local/php/bin/phpize  

    ./configure  --with-php-config=/usr/local/php/bin/php-config  

    make && make install  

    vi /usr/local/php/etc/php.ini  

    加上extension=memcached.so重起一下服务就可以了。  

     

    六、PHP项目分布式使用Memcache同步SESSION的几种方法

     

     

    1、直接修改php.ini配置文件

     

     

    session.save_handler = memcache  

    session.save_path = "tcp://127.0.0.100:11211"  

    2、利用目录下的 .htaccess 文件

     

    php_value session.save_handler "memcache"  

    php_value session.save_path "tcp://127.0.0.1:11211"  

    3、项目中修改配置

     

    ini_set("session.save_handler", "memcache");  

    ini_set("session.save_path", "tcp://127.0.0.100:11211");  

    上面只是一些简单的说明,一般来说做分布式是有服务器权限的,所以推荐第一种

    yum install gcc yum install gcc-c libstdc -devel yum install zlib-devel 二、源码包准备 wget ....

    本文由新葡亰496net发布于奥门新萄京娱乐场,转载请注明出处:新葡亰496netphp扩展memcached和memcache的安装配置方法

    关键词:

上一篇:没有了

下一篇:没有了