分布式web会话共享 php,分布式memcache实现web集群session同步

php的session默认是文件存储:

session.save_handler = files

session.save_path = "/var/lib/php/session"

当做web集群,需要session同步时,将session存到分布式memcache来达到共享同步是个不错的办法 方法:

第1种:

vi /etc/php.ini

session.save_handler = memcache

session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"

第2种:

在php文件中使用ini_set函数进行配置,适合无法修改配置文件的虚拟主机

....

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

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

....

?>

重启web服务器

service httpd restart

查看phpinfo

topics-74282.html

75e324e3ca432530a179530eb0c2425d.bmp

测试

192.168.20.193中的login.php

session_start();

$_SESSION['login_time'] = time();

$_SESSION['username'] = 'test2';

$token=session_id();

echo $token;

//memache实现

$mem = new Memcache();

$mem->addServer('192.168.20.193',11211);

$mem->addServer('192.168.20.194',11211);

/*

//memached实现

$mem = new Memcached();

$servers = array(

array('192.168.20.193', 11211, 33),

array('192.168.20.194', 11211, 67)

);

$mem->addServers($servers);

*/

echo '


';

print_r($mem->get($token));

?>

192.168.20.194中的user.php

$mem = new Memcache();

$mem->addServer('192.168.20.193',11211);

$mem->addServer('192.168.20.194',11211);

$token=$_GET['token'];//获取传过来的token

print_r($mem->get($token));

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值