【发布时间】:2014-07-17 08:04:01
【问题描述】:
ini_set('session.save_path', __ROOT__ . '/sessions/');
echo 'needed: '.__ROOT__ . '/sessions/<br>curent: '.session_();
session_start();
这段代码显示:
needed: /var/www/admin/data/www/tdf/
curent: /var/www/admin/data/mod-tmp
ini_set 没有更改会话的路径。 已安装 ISP Manager 5 精简版。 该路径由 ISPM“/var/www/admin/data/mod-tmp”给出。 ISP 管理器以某种方式阻止了我的更改。
我尝试使用 .htaccess
php_value session.save_path = '/bla'
但它给了我内部服务器错误。在其他服务器上,此代码有效,并为“需要”和“当前”提供相同的路径
完整代码:
<?
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('session.gc_maxlifetime', 7776000);
ini_set('session.cookie_lifetime', 7776000);
$path = '/var/www/admin/data/www/tdf/';
ini_set('session.save_path', $path);
session_save_path($path);
echo 'needed: '.$path. '<br>curent: '.session_save_path();
session_start();
$_SESSION['test'] = 'test';
phpinfo();
?>
.htaccess
php_value session.save_path /var/www/admin/data/www/
然后,如果我检查 phpinfo,它会显示“session.gc_maxlifetime”已更改,但“session.save_path”没有。
【问题讨论】:
-
尝试改用这个函数session_save_path
-
你的函数
session_()是做什么的。这可能是相关的?也显示该代码! -
@user3848129 您确定您的主机允许您更改该值吗?
-
@Athafoud 不,但它是我自己的服务器
-
“500 内部服务器错误”状态代码表示:“请检查 Apache 日志以获取确切的错误消息”。我建议你这样做。不管怎样,我怀疑你想使用 Apache 来更改 PHP 指令,但你没有将 PHP 作为 Apache 模块运行。