session和cookie

本文详细介绍了PHP Session的实现原理及应用技巧,包括如何设置30分钟过期的Session、禁用Cookie时Session的使用方法、Session存储在数据库或缓存中的实现方式,以及在Web服务器集群和不同域名间实现Session共享的技术方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.如何实现30分钟过期的session?
     1. 加时间戳, $_SESSION[‘expire’] = time()+1800;
    业务逻辑去判断.
 
    2.ini_set(‘session.cookie_lifetime’ , 1800)
    3.或者用memcache,存储的时候,加上1800的有效期.
    4.接管session处理权,第1题中,$mem->connect(‘专门的一台memcached服务器’).
    把session文件放在专门的服务器中. 各个web服务器共享此session服务器.
    5.如果不跨主域, 如book.163.com, lady.163.com , mil.163.com
    在setcookie(‘key’,’value’,’expire’ , /path‘ , ‘.163.com’);
    域名只写到主域名,cookie将会在各个子域名生效.
 
    如果必须跨域,我们依照oauth原理.

2.请简述php会话(session)实现原理,并考虑如下问题:
    禁用了cookie,session能否使用?
    如何把session存储数据库/memcached/redis
    如何实现一个严格的30分钟过期的会话?、
    如何实践web服务器集群的会话共享?
    如何实现两个不同域站点的会话共享?
        答: 能!
        cookie和session的关系
        cookie传递session_id,供服务器决定session文件.
        所以只要能向服务器传递session_id,session就能正常使用.
        而cookie只是传递session_id的一种方式而已.
        用url也能传递session_id
        php.ini 配置如下:
        session.use_only_cookies = 0
        session.use_trans_sid = 1
        OK了.










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值