最近学习session,根据老师所讲,session文件存储在c:/windows/temp文件夹,但是找不到,利用百度查找发现具体存储位置在php.ini中,而我用的集成开发环境是phpStudy,就打开相应的php.ini文件,原来它的临时文件存储在f:/phpStudy/tmp/tmp,如下图
session文件打开如下图:
PHP中的session存储 session的数据保存在哪里呢? 当然是在服务器端,但不是保存在内存中,而是保存在文件或数据库中。 默认情况下,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 文件,不存在则创建之,最后将数据序列化之后写入文件。读取session数据是也是类似的操作流程,对读出来的数据需要进行解序列化,生成相应的session变量。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/282506.html