登录  /  注册

php怎么设置session id

藏色散人
发布: 2021-03-22 09:10:02
原创
3316人浏览过

php设置session id的方法:首先创建一个php示例文件;然后通过“session_id("...");session_start();”语句来设置session会话id即可。

php怎么设置session id

本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

php session_id()获取或设置Session会话ID

php session_id()函数可取得或者重新配置目前存放 Session 会话的ID,本文章向大家介绍Session生成过程及session_id 恢复 session的内容,需要的朋友可以参考一下。

 

session_id()函数介绍

session_id()获取或设置Session会话 ID

语法:

string session_id(string [id]);
登录后复制

若无参数 id 则表示只有取得目前 Session 的代号,加上参数则表示将 Session 代号设成新指定的 id。输入及返回均为字符串。

如果没有设置参数ID,则表示获取Session会话ID,否则表示将Session会话设成新指定的ID。

注:ID均为字符串形式。

session_id()实例

获取Session会话ID

<?php
session_start(); 
echo session_id();
// 输出 urles147jbrq3u50b0l6f8hvf0
?>
登录后复制

设置Session会话ID

<?php
session_id("ilovemanongjc.com");
session_start(); 
    /* http://www.manongjc.com/article/1260.html */
echo session_id();
// 输出 ilovemanongjc.com
?>
登录后复制

 

Session生成过程介绍

一个访问者访问你的web网站将被分配一个唯一的id, 就是所谓的会话id. 这个id可以存储在用户端的一个cookie中,也可以通过URL进行传递. Session会话用来追踪每个用户的会话,使用服务器生成的SessionID进行标识,用以区分用户。Session存放在服务器的内存中,SessionID存放在服务器内存和客户机的Cookie里面。这样,当用户发出请求时,服务器将用户Cookie里面记录的SessionID和服务器内存中的SessionID进行比对,从而找到这个用户对应的Session进行操作。所以,如果客户机禁止Cookie的话,Session也不能使用。

php会话ID是如何产生的?PHP默认的session id生成算法介绍

以php5.3.6的源码为例,进入/ext/session目录,生成session id的函数位于session.c文件的345行,c语言函数原型如下:

PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS);

 

【推荐学习:PHP视频教程

session_id如何恢复session的内容

php的session是可以程序恢复的,这个和java不太一样。session的恢复机制可以实现多个应用程序session的共享,因为php的session都是以文件形式或者数据库存储的。首先是session_id的获取是通过session_id()函数获取,这个值可以进行传递。

程序恢复session,首先要知道session_id,大家通过手册可以知道session的恢复通过session_id($id);但是在恢复时要注意一个先后顺序,要得到之前session的内容,必须在session_start()之前执行session_id($id),这样才能在执行了session_start时初始化session的时候恢复到之前的内容,否则的话你得到的是一个空的session,你什么也得不到。之前session被重新初始化了。这个和session_start()的作用有密切关系,因为session_start告诉php,session要初始化,要从session文件中反序列化session内容,所以session_start的作用就是把之前存储的文件内容反序列化。session_start序列化之前要知道session_id,如果没有就生成一个新的session_id。如果有就反序列化相应文件的内容。

以上就是php怎么设置session id的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号