开发者社区> 问答> 正文

求一份 linux php5.6.9 安装Memcache教程

php用的是5.6.9版本,使用的wdcp进行操作的,其他的都没问题,就只有Memcache没有安装好,有没有大神可以给个教程或者是指令安装的代码之类的。

展开
收起
手拍客 2015-12-06 00:55:21 7411 0
4 条回答
写回答
取消 提交回答
  • 回 楼主(手拍客) 的帖子
    引用第4楼gnuhacker于2015-12-06 11:32发表的 回 3楼(手拍客) 的帖子 :
    感觉文件系统的cache已经够用了,用memory的cache占用内存,而且配置复杂,费用高.



    memcache和cache是两回事情好吧,cache是文件缓存,memcached是数据库缓存


    =========================================================================


    另外只安装memcache客户端不安装memcached服务端,是一点效果没有的


    1.首先编译memcached服务端和memcache客户端,自己下载最新版, (x.x.x为版本号)

    tar zxvf memcached-x.x.x.tgz
    cd memcached-x.x.x
    /php安装路径/php/bin/phpize
    ./configure --enable-memcached --with-php-config=/php安装路径/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
    make && make install



    2.然后写个memcached启动脚本放到/etc/init.d/目录下,赋予权限并添加启动项和启动
    chkconfig --add memcached  
    chkconfig --level 35 memcached on
    service memcached start



    3.memcached启动脚本的内容如下
    (其中port="11211"为端口号,你可以修改为你自己的不修改也行,max_memory=512为使用的内存,设置成你闲置的内存略小)


    #!/bin/sh  
    #  
    # Startup script for the server of memcached
    # processname: memcached  
    # pidfile: /usr/local/memcached/memcached.pid  
    # logfile: /usr/local/memcached/memcached_log.txt  
    # memcached_home: /etc/memcached  
    # chkconfig: 35 21 79  
    # description: Start and stop memcached Service  
      
    # Source function library  
    . /etc/rc.d/init.d/functions  
      
    RETVAL=0  
      
    prog="memcached"  
    basedir=/usr/local/memcached  
    cmd=${basedir}/bin/memcached  
    pidfile="$basedir/${prog}.pid"  
    #logfile="$basedir/memcached_log.txt"  
      
    ipaddr="127.0.0.1"
    port="11211"
    username="root"  
    max_memory=512
    max_simul_conn=1024
    #maxcon=51200  
    #growth_factor=1.3  
    #thread_num=6
    #verbose="-vv"  
    #bind_protocol=binary  
      
    start() {  
    echo -n $"Starting service: $prog"  
    $cmd -d -m $max_memory -u $username -l $ipaddr -p $port -c $max_simul_conn -P $pidfile  
    RETVAL=$?  
    echo  
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog  
    }  
      
    stop() {  
    echo -n $"Stopping service: $prog  "  
    run_user=`whoami`  
    pidlist=`ps -ef | grep $run_user | grep memcached | grep -v grep | awk '{print($2)}'`  
    for pid in $pidlist  
    do  
    #           echo "pid=$pid"  
    kill -9 $pid  
    if [ $? -ne 0 ]; then  
    return 1  
    fi  
    done  
    RETVAL=$?  
    echo  
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog  
    }  
      
    # See how we were called.  
    case "$1" in  
    start)  
    start  
    ;;  
    stop)  
    stop  
    ;;  
    #reload)  
    #    reload  
    #    ;;  
    restart)  
    stop  
    start  
    ;;  
    #condrestart)  
    #    if [ -f /var/lock/subsys/$prog ]; then  
    #        stop  
    #        start  
    #    fi  
    #    ;;  
    status)  
    status memcached  
    ;;  
    *)  
    echo "Usage: $0 {start|stop|restart|status}"  
    exit 1  
    esac  
    exit $RETVAL



    4.然后编译memcache

    tar xvf memcache-x.x.x.tgz
    cd memcache-x.x.x
    /php安装路径/php/bin/phpize
    ./configure --with-php-config=/php安装路径/php/bin/php-config --with-zlib-dir --enable-memcache
    make && make install





    收工 搞定


    注意的是你必须找到自己的php程序安装路径,只适合php 7.0以下版本,不适合php 7.0





    2015-12-07 07:52:47
    赞同 展开评论 打赏
  • 回 2楼gnuhacker的帖子
    没一直那啥  我昨晚弄好了。
    2015-12-06 11:28:34
    赞同 展开评论 打赏
  • What is the kernel in the Code Sea?
    怎么想起用Memcache了?

    -------------------------

    回 3楼(手拍客) 的帖子
    感觉文件系统的cache已经够用了,用memory的cache占用内存,而且配置复杂,费用高.

    -------------------------

    ruby on rails的cache机制下, 两者可以互换

    2015-12-06 11:10:08
    赞同 展开评论 打赏
  • 码农|Coder| Pythonista
    2015-12-06 11:06:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载