可以';t将php会话存储到另一个目录


Can't store php session to another directory

请帮我处理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
而不是在CCD_ 3处。

我找到了解决方案!
我的虚拟主机的设置为:
php_admin_value session.save_path /var/lib/php5
因此:
任何使用php_admin_value设置的指令类型都不能被.htaccess或ini_set()重写
我从虚拟主机中删除了此设置,所有设置都正常工作。

感谢大家的帮助!!!