【问题标题】:session.save_path doesn't worksession.save_path 不起作用
【发布时间】: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 模块运行。

标签: php apache session


【解决方案1】:

我找到了解决方案。 Web 域 -> 配置 -> 将默认更改为:

php_admin_value session.save_path "/var/www/admin/data/www/"

它在 ISP 管理器上分叉。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2016-03-13
    相关资源
    最近更新 更多