注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

zjcjack的博客

 
 
 

日志

 
 

php memcache session  

2012-02-22 23:49:55|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
                              在集群中共享session是一个问题。
1、方案:吧session放到共享的设备上去,如nfs。
2、放到 memcache 中,这种方法被很多人推崇。
memcache install:
download http://www.danga.com/memcached
install memcache support modules:
download http://www.monkey.org/~provos/libevent/
./configure
make
make install
install memcache
./configure --prefix=/usr/local/memcached --enable-threads
make
make install
创建一个启动文件 /etc/init.d/memcached
                
                
                
                
                
                #!/bin/sh
#
# memcached:    MemCached Daemon
#
# chkconfig:    - 90 25
# description:  MemCached Daemon
#
# Source function library.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
#[ ${NETWORKING} = "no" ] && 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 1024 -l 127.0.0.1 -p 11211
        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
php memcahce modules install:
download http://pecl.php.net/package/memcache
phpize
./configure --enable-memcache
make 
make install
编辑 php.ini 在 [Session] 添加指定你安装的memcache.so的位置。
extension=memcache.so
extension_dir = "/usr/local/php/lib/php/extensions/"
memcache.allow_failover = 1 
memcache.max_failover_attempts = 20 
memcache.chunk_size = 8192 
memcache.default_port = 11211
session.save_handler = memcache
session.save_path = "udp://127.0.0.1:11211"
一个简单的php测试脚本 test.php
?
//http://www./a.php?act=write
//http://www./a.php?act=read
  session_start();
  if($_GET['act']=='write')
    $_SESSION['name']='0009847';
  elseif($_GET['act']=='read')
    var_dump($_SESSION);
  else
    echo 'invalid argument';
?>
  评论这张
 
阅读(441)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017