php session的存放目录,再次回顾

时间:2022-03-06 21:07:25

session的存放位置可以通过运行时配置ini_set和函数session_save_path来设置

.session_save_path — 读取/设置当前会话的保存路径
string session_save_path ([ string $path ] )
参数
path
指定会话数据保存的路径。 必须在调用 session_start() 函数之前调用 session_save_path() 函数。
返回值 返回保存会话数据的路径。
.session.save_path配置指示
session.save_path 定义了传递给存储处理器的参数。如果选择了默认的 files 文件处理器,则此值是创建文件的路径。默认为 /tmp。参见 session_save_path() 。
此指令还有一个可选的 N 参数来决定会话文件分布的目录深度。例如,设定为 '5;/tmp' 将使创建的会话文件和路径类似于 /tmp//b//e//sess_4b1e384ad74619bd212e236e52a5a174If。要使用 N 参数,必须在使用前先创建好这些目录。在 ext/session目录下有个小的 shell 脚本名叫 mod_files.sh,windows 版本是 mod_files.bat可以用来做这件事。此外注意如果使用了 N 参数并且大于 ,那么将不会执行自动垃圾回收,更多信息见 php.ini。另外如果用了 N参数,要确保将 session.save_path 的值用双引号 "quotes" 括起来,因为分隔符分号( ;)在 php.ini 中也是注释符号。 文件储存模块默认使用 mode 创建文件。通过 修改可选参数 MODE 来改变这种默认行为: N;MODE;/path ,其中 MODE 是 mode 的八进制表示。 MODE 设置不影响进程的掩码(umask)。 Warning
如果将此设定为一个全局可读的目录,例如 /tmp(默认值),服务器上的其他用户有可能通过该目录的文件列表破解会话。

注意:自己的项目的session存放目录要单独设定,否则session有可能被其他项目的脚本清除掉.