标签:情况下 res 实验 service 保存 centos6.5 minimal dump 演示
实验环境: Centos6.5minimal 64位系统
服务器IP:192.168.10.22
说明:
1. LNMP+Memcached环境搭建不再演示,可参考之前文章
2. 相信大家也看到了,文章的后边加了(不建议)的后缀,说说原因吧:
A、如果用memcached存储Session,那么当memcached集群发生故障(比如内存溢出)或者维护(比如升级、增加或减少服务器)时,用户会无法登录,或者被踢掉线
B、memcached 的回收机制可能会导致用户无缘无故地掉线
Session的数据默认情况下,保存在file文件中,我们可以通过修改php的配置,让其保存在其它地方:
vim /etc/php/php.ini
session.save_handler = memcached
session.save_path = "192.168.10.22:11211"
service php-fpm restart
vim /a01/apps/nginx/html/session.php
<?php
//set_session
session_start();
$_SESSION[‘name‘]=‘nongkaige‘;
?>
<?php
//get_session
session_start();
$name=$_SESSION[‘name‘];
echo $name;
?>
http://192.168.10.22/session.php
输出nongkaige正确
但是如果获取session变量的时候,不再是name属性,而是通过session_id来保存的:
vim /a01/apps/nginx/html/session_id.php
<?php
session_start();
$_SESSION[‘age‘]=‘huanglihua‘;
$sess_id=session_id();
var_dump($sess_id);
?>
http://192.168.10.22/session_id.php
上一种方法是修改的PHP配置文件,那如果我不是管理员,没有权限修改PHP配置文件呢,这时候ini_set()可以在php网站中,设置memcached缓存session
vim /a01/apps/nginx/html/ceshiye.php
<?php
ini_set(‘session.save_handler‘,‘memcached‘);
ini_set(‘session.save_path‘,‘192.168.10.22:11211‘);
session_start();
$_SESSION[‘age‘]=‘huanglihua‘;
$sess_id=session_id();
var_dump($sess_id);
?>
标签:情况下 res 实验 service 保存 centos6.5 minimal dump 演示
原文地址:https://www.cnblogs.com/93bok/p/9679881.html