带有 cookie 的 PHP 会话(生存期和文件)


PHP Sessions with cookies (lifetime and files)

我按照教程使用cookie来处理会话。我现在有两个问题:

  1. 我的生命周期会话太短(一两个小时(,即使我已将session.cookie_lifetimesession.gc_maxlifetime的值设置为"1209600">
  2. 我尝试使用以下方法将会话保存到文件中:

    ini_set("session.save_handler", "files");
    session_set_save_handler($session, true);
    session_save_path($rel_path . "/sessions");
    

    其中$session是我已创建但尚未启动的会话的实例。

现在,当我在本地使用 XAMPP 使用它时,这可以正常工作,但当我在线上传网站时则不然。我想问题来自我的网络主机,它 www.ovh.com,但我不知道如何解决这个问题。有什么想法或建议吗?

我通过添加以下代码行解决了这个问题:

ini_set('session.force_path', 0);

与其他ini_setsession参数一起使用。当我在本地(使用 XAMPP(打印 phpinfo(( 时,session.force_path 参数在我的网络托管服务上时,在会话部分中不可见。这也解决了我的会话生命周期问题,因为它取决于会话文件的存在。