请用php会话帮我。
我的服务器上有php 5.5.21。
我有用户和管理员。
用户会话我保存到默认会话目录,但管理员保存到另一个(提供更长的生命周期)。
我的问题是我无法将管理员的会话存储到另一个目录,并且死得比我需要的更快。
<?php
function isAdmin()
{
return true;
}
$path = session_save_path(); // /var/lib/php5
if (isAdmin()) {
$ttl = 36000;
$path .= '/sessionAdmin';
} else {
$ttl = 1440;
$path .= '/session';
}
session_save_path($path);
ini_set('session.gc_maxlifetime', $ttl);
ini_set('session.cache_expire', $ttl);
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 1);
session_start();
此外,我将此目录添加到open_basedir '/var/www/vhosts/site.com:/usr/share/pear:/var/lib/php5/session:/var/lib/php5/sessionAdmin'
但它对我没有帮助,所有新会话都保存在目录/var/lib/php5
不在/var/lib/php5/sessionAdmin
。
答案 0 :(得分:0)
我找到了解决方案!
在我的虚拟主机的设置中:
php_admin_value session.save_path /var/lib/php5
因此this:
任何使用php_admin_value设置的指令类型都不能被.htaccess或ini_set()覆盖。
我从虚拟主机中删除了这个设置,一切正常。
谢谢大家的帮助!!!