这次给大家带来PHP设置web集群session同步步骤详解,PHP设置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函数进行配置,适合无法修改配置文件的虚拟主机
<?php
....
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

测试
192.168.20.193中的login.php
<?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 '<hr>';
print_r($mem->get($token));
?>
<p>
<a href="http://192.168.20.194/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">跳转到194网站的个人中心</a>
</p>192.168.20.194中的user.php
<?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));
?>
<p>
<a href="http://192.168.20.193/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">返回193网站的个人中心</a>
</p>相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
立即学习“PHP免费学习笔记(深入)”;
php中文网学习专题:php session (包含图文、视频、案例)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号