Php 会话在网站中过期

Php 会话在网站中过期,php,session,websitebaker,Php,Session,Websitebaker,在哪里可以设置默认会话过期时间?默认情况下,它将在10分钟内销毁。我想在开发期间设置更多的分钟/小时,以后想更改为默认值或x分钟 请帮我等你的答复 谢谢我对网站baker一无所知,所以请查找会话的开始位置(在您的项目中搜索所有文件以查找会话_start()),然后在该行之前可以使用: //first parameter expects the number of seconds session cookie should be kept by the //browser , in our ca

在哪里可以设置默认会话过期时间?默认情况下,它将在10分钟内销毁。我想在开发期间设置更多的分钟/小时,以后想更改为默认值或x分钟

请帮我等你的答复


谢谢

我对网站baker一无所知,所以请查找会话的开始位置(在您的项目中搜索所有文件以查找会话_start()),然后在该行之前可以使用:

//first parameter expects the number of seconds session cookie should be kept by the 
//browser , in our case 10 seconds
session_set_cookie_params(10);
或者另一个选项,在你的网站baker app(index.php)的根添加这一行,你就可以开始了


注意:如果浏览器破坏了会话cookie,那么当您调用
session_start()时,php将发出另一个会话id
,因此我们并不关心最后一个会话是否仍然被认为是活动的,因为在您的php脚本中,您将有一个空的
$\u会话
。另外,您可以设置
ini\u set('session.gc maxlifest',10),以便垃圾收集器删除以前的会话,以防您将会话存储在磁盘上。

我对website baker一无所知,因此请查找会话的启动位置(在您的项目中,搜索所有文件以查找会话_start()),然后在该行之前,您可以使用:

//first parameter expects the number of seconds session cookie should be kept by the 
//browser , in our case 10 seconds
session_set_cookie_params(10);
或者另一个选项,在你的网站baker app(index.php)的根添加这一行,你就可以开始了


注意:如果浏览器破坏了会话cookie,那么当您调用
session_start()时,php将发出另一个会话id
,因此我们并不关心最后一个会话是否仍然被认为是活动的,因为在您的php脚本中,您将有一个空的
$\u会话
。另外,您可以设置
ini\u set('session.gc maxlifest',10)以便垃圾收集器删除以前的会话,以防您将会话存储在磁盘上。

我假设您自己没有更改它(否则我想您会记得您是如何更改的),10分钟看起来是一个奇怪的默认值。我敢说,你正在共享服务器上托管你的应用程序,会话数据存储在默认的共享位置,还有其他客户的应用程序设置了较低的会话生存时间。出现此问题的原因是会话数据不支持站点:当PHP垃圾收集器删除10分钟内未被访问的会话文件时,它会删除目录中的所有文件;它无法知道它们属于哪个网站

我无法告诉您如何在WebsiteBaker中修复它,但在常规PHP中,您需要在帐户中设置自定义会话目录。然后(并且只有到那时),您才能完全控制自己的会话数据:

session_save_path('/home/users/foo/sessions');
ini_set('session.gc_maxlifetime', 3*60*60); // 3 hours (or whatever you need)
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 100);
session_start();

我假设你自己没有改变它(否则我想你会记得你是怎么做的),10分钟看起来像一个奇怪的默认值。我敢说,你正在共享服务器上托管你的应用程序,会话数据存储在默认的共享位置,还有其他客户的应用程序设置了较低的会话生存时间。出现此问题的原因是会话数据不支持站点:当PHP垃圾收集器删除10分钟内未被访问的会话文件时,它会删除目录中的所有文件;它无法知道它们属于哪个网站

我无法告诉您如何在WebsiteBaker中修复它,但在常规PHP中,您需要在帐户中设置自定义会话目录。然后(并且只有到那时),您才能完全控制自己的会话数据:

session_save_path('/home/users/foo/sessions');
ini_set('session.gc_maxlifetime', 3*60*60); // 3 hours (or whatever you need)
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 100);
session_start();

Websitebaker至少当前的2.8.2版本和即将升级的2.8.3版本完全依赖于会话生存期的服务器设置

如果需要不同的会话设置,可以在以下操作之前将设置添加到config.php:

 require_once(WB_PATH.'/framework/initialize.php');
这仅在服务器允许通过脚本进行覆盖时才有效


另一种选择是使用.htaccess文件或更改服务器设置。

至少当前的2.8.2版本和即将升级的2.8.3版本在会话生存期内完全依赖服务器设置

如果需要不同的会话设置,可以在以下操作之前将设置添加到config.php:

 require_once(WB_PATH.'/framework/initialize.php');
这仅在服务器允许通过脚本进行覆盖时才有效


另一种选择是使用.htaccess文件或更改服务器设置。

文档中没有说明任何内容,我打赌您在这里不会找到很多使用该CMS的编码人员。也许你只是在你的代码库中搜索,或者问文档什么也没说,我打赌你不会在这里找到很多使用CMS的程序员。也许您只是在代码库中搜索,或者ask仅用于HTTP缓存。session.gb_maxlifetime并不一定更好(请参阅)。仅适用于HTTP缓存。session.gb\u maxlifetime不一定更好(请参阅)。