使用会话保存路径 (PHP)



我有VPS(CentOS),运行几个带有子域的网站,我想监控我的会话文件,我可以为站点及其子域定义单独的会话保存路径吗?

session_save_path("/home/sitename1/public_html/sessionpath/");
session_save_path("/home/sitename2/public_html/sessionpath/”);

对于子域

session_save_path("/home/sitename1/public_html/subdomainName1/sessionpath/"); 
session_save_path("/home/sitename2/public_html/subdomainName2/sessionpath/”);

INI 中的默认路径是 tmp,它位于根目录中,我无权访问。我的一些网站用户丢失了他们的会话文件,即使他们在页面中处于活动状态。可能是什么原因? 是否有任何后台进程清理tmp文件夹文件?

我在 INI 中为 PHP 会话机制的其他设置如下 session.gc_divisor 3000, session.gc_probability 1, session.gc_maxlifetime 10800, session.cookie_lifetime 0,

我不知道

有任何 Linux 系统禁止全局访问/tmp,或者任何系统管理员无论如何都会这样做,但我想这是可能的。

会话文件根据gc_maxlifetime进行垃圾回收。 在您的情况下,它是 180 分钟或 3 小时。 这意味着在 3 小时不活动后,某个会话可能会被垃圾回收(即删除)。

如果您希望会话持续更长时间,则需要另一层(例如数据库),或者您必须使用 JavaScript 不断刷新会话。

最新更新