bool session_start(void)

把稳:在调用session_start()之前不能有任何输出。

当用户第一次访问网站时,session_start()会创建一个唯一的Session ID,并通过HTTP相应头将这个ID保存到客户真个Cookie中。
同时,在做事器端也会创建一个以Session ID命名的文件,用于保存该用户的会话信息。

用户再次访问时,通过HTTP要求头携带Cookie中的Session ID。
这时,session_start()不会创建新的Session ID,而是在做事器上查找与Session ID同名的文件,并运用之前保存的会话信息。

phpsession设置深刻懂得PHP的SESSION机制 RESTful API

Session通过数组形式利用,例如:$_SESSION['session名']。

注册和读取Session变量

在PHP中利用Session变量,除了启动外,还需注册。
注册和读取Session变量都通过$_SESSION数组完成。
例如:

<?php session_start(); $_SESSION["username"]="skygao"; $_SESSION["uid"]=1;?>

实行后,变量会被保存在做事器真个文件中。

注销变量与销毁Session

利用完Session变量后,可以删除。
用户退出时,应销毁其所有信息。

利用session_destroy()函数可以销毁所有与当前Session干系的资料。
利用unset()函数可以开释单个Session变量。
打消客户端Cookie中的Session ID,须要利用setCookie()函数。

例如:

<?php session_start(); $_SESSION = array(); if(isset($_COOKIE[session_name()])) { setCookie(session_name(), "", time()-42000, "/"); } session_destroy();?>php.ini中的Session配置选项session.auto_start:要求启动时初始化Session。
session.cache_expire:设置缓存中的会话文档过期韶光。
session.cookie_lifetime:设置Cookie的保存韶光,即Session的过期韶光。
session.cookie_path:Cookie的有效路径。
session.cookie_domain:Cookie的有效域。
session.name:用于Cookie中的Session名称。
session.save_handler:用于保存/取回数据的掌握办法。
session.save_path:数据文件保存的路径。
session.use_cookies:是否利用cookies。
Session的垃圾自动回收机制

当用户未正常退出而直接关闭浏览器时,做事器真个Session文件不会被删除。
为了清理这些“垃圾”,PHP有一个自动回收机制。

session.gc_maxlifetime:指定过期韶光。
session.gc_probability和session.gc_divisor:设置垃圾回收程序的概率。

例如,如果session.gc_probability=1且session.gc_divisor=100,则概率为“1/100”。

当Cookie禁用时通过URL通报Session ID

如果客户端禁用Cookie,PHP可以自动将Session ID添加到URL中。
在Linux平台上,如果客户端禁用Cookie,系统会自动修正URL以包含Session ID。
在Windows平台上,可以利用常量SID来实现相同功能。

例如:

<?php session_start(); echo '<a href="demo.php?'.session_name().'='.session_id().'">连接演示</a>';?>关于我们

本文由ChatMoney团队出品,ChatMoney专注于AI运用落地与变现,我们供应全套、持续更新的AI源码系统与可实行的变现方案,致力于帮助更多人利用AI来变现,欢迎进入ChatMoney获取更多AI变现方案!