PHP 使用 cookie 的会话(生命周期和文件)
PHP Sessions with cookies (lifetime and files)
我按照教程使用 cookie 处理会话。我现在有两个问题:
- 尽管我已将
session.cookie_lifetime
和 session.gc_maxlifetime
的值设置为“1209600” ,但我的生命周期太短(一两个小时)
我尝试使用以下方法将会话保存到文件中:
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_set
和 session
参数。当我在本地打印 phpinfo() 时(使用 XAMPP,session.force_path
参数在 session 部分不可见), 而它在我的网络托管服务上。这也解决了我的会话生命周期问题,因为它取决于会话文件的存在。
我按照教程使用 cookie 处理会话。我现在有两个问题:
- 尽管我已将
session.cookie_lifetime
和session.gc_maxlifetime
的值设置为“1209600” ,但我的生命周期太短(一两个小时)
我尝试使用以下方法将会话保存到文件中:
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_set
和 session
参数。当我在本地打印 phpinfo() 时(使用 XAMPP,session.force_path
参数在 session 部分不可见), 而它在我的网络托管服务上。这也解决了我的会话生命周期问题,因为它取决于会话文件的存在。