PHP SESSION

来源:互联网 发布:win7优化性能xp 编辑:程序博客网 时间:2024/04/29 09:51
1.PHP 中SESSION的保存
     PHP SESSION保存在服务器件或数据库中。 默认情况下,php.ini 中设置的 SESSION 保存方式是 files(session.save_handler = files),即使用读写文件的方式保存 SESSION 数据,而 SESSION 文件保存的目录由 session.save_path 指定。
PHP中你可以用如下函数指定SESSION保存路径:string session_save_path ([ string $path ] );
2. PHP 中SESSION的文件内容
     文件名以 sess_ 为前缀,后跟 SESSION ID,如:sess_1psiga3k0v9gd8ko8s4lfmrv30。文件中的数据即是序列化之后的 SESSION 数据了。
如:securimage_code_value|s:4:"penn";dede_admin_id|s:1:"1";dede_admin_type|s:2:"10";dede_admin_channel|s:1:"0";dede_admin_name|s:5:"admin";dede_admin_purview|s:15:"admin_AllowAll ";dede_admin_style|s:10:"newdedecms";
3.PHP中SESSION存储的效率 
如果访问量大,可能产生的 SESSION 文件会比较多,这时可以设置分级目录进行 SESSION 文件的保存,效率会提高很多,设置方法为:session.save_path="N;/save_path",N 为分级的级数,save_path 为开始目录。 当写入 SESSION 数据的时候,PHP 会获取到客户端的 SESSION_ID,然后根据这个 SESSION ID 到指定的 SESSION 文件保存目录中找到相应的 SESSION 文件,不存在则创建之,最后将数据序列化之后写入文件。
4.SESSION的产生原理
PHPSESSIONID = hash_func(客户端IP + 当前时间(秒)+ 当前时间(微妙)+ PHP自带的随机数生产器)
其中函数 hash_func 是由php.ini中配置 ,通常为 md5 / sha1 等等
5.PHP中SESSION的使用
1)在为SESSION赋值时要先开启SESSION(必须在任何文档输出前开启):session_start();
2)为设置SESSION:SESSION["session_key"] = "session_value";
3)获取SESSION:SESSION["session_key"];//在PHP中直接用SESSION[]这个环境变量来获取SESSION值
0 0