PHP、session文件的信息读取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP、session文件的信息读取相关的知识,希望对你有一定的参考价值。

利用php写了个网站发布,如何在后台读取session读取访客的访问轨迹跟访问的停留时间。然后存进数据库

参考技术A 当然是在服务器端,但不是保存在内存中,而是保存在文件或数据库中。 默认情况下,php.ini 中设置的 SESSION 保存方式是 files(session.save_handler = files),即使用读写文件的方式保存 SESSION 数据,而 SESSION 文件保存的目录由 session.save_path 指定,文件名以 sess_ 为前缀,后跟 SESSION ID,如:sess_c72665af28a8b14c0fe11afe3b59b51b。文件中的数据即是序列化之后的 SESSION 数据了。 如果访问量大,可能产生的 SESSION 文件会比较多,这时可以设置分级目录进行 SESSION 文件的保存,效率会提高很多,设置方法为:session.save_path="N;/save_path",N 为分级的级数,save_path 为开始目录。 当写入 SESSION 数据的时候,PHP 会获取到客户端的 SESSION_ID,然后根据这个 SESSION ID 到指定的 SESSION 文件保存目录中找到相应的 SESSION 文件,不存在则创建之,最后将数据序列化之后写入文件。追问

您好 这个我知道,我想知道的是代码方面的,用什么方法然后获取里面那个量。

本回答被提问者和网友采纳

PHP session 详解

1.PHP的 session是存储在服务器端的以文件形式存储,在php.ini 里面可设置 session 的存储路径,以及session 的过期时间,session 在cookie中传输的键名等。

2.session_start() 执行该函数的时候 session 会进行初始化,会将session 文件进行反序列化,此时如果有seession_id 则会根据session_id 获取到相应的session 信息,

  不过获取不到session_id 则会生成新的session_id ,

3.seesion_id 是根据访问客户的ip + 事间+微妙时间+加密因子  通过hash 算法来生成的,有重复的几率,但很小。在初始化之前可通过session_id($id) 来指定session_id .

 

以上是关于PHP、session文件的信息读取的主要内容,如果未能解决你的问题,请参考以下文章

php保存session之后从不同页面读取的值不同?

如何删除php session文件

Nginx 下无法读取session 导致 thinkphp验证码错误

PHP SESSION机制,从存储到读取

session_start() 需要读取 $_SESSION

PHP会话控制之session_start