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同名的文件,并运用之前保存的会话信息。
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变现方案!