使用会话保存路径(php)

时间:2012-10-04 08:26:06

标签: php session path

我有VPS(CentOs),运行少数子网站,我想监控我的会话文件,我可以为网站及其子域定义单独的会话保存路径,如下所示吗?

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

for subdomains

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

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

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

1 个答案:

答案 0 :(得分:0)

我不知道任何禁止全局访问/tmp的Linux系统,或任何会这样做的系统管理员,但我认为这是可能的。

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

如果您希望会话持续时间超过该时间,则需要另一个层(例如数据库),或者您必须继续使用JavaScript刷新会话。