php - PHP MySQL 的 session 超时问题

标签 php mysql session

我有一个网站,用户有时需要一个多小时才能填写表格并提交到 mysql。我已将 session.gc_maxlifetime 调整为 7200(2 小时),并验证 cookie 超时为 0,永远不会。网站仍会在默认的 24 分钟后将他们发送回登录页面,而不保存他们的数据。我已将 session_start() 添加到索引和我的 head.php 中,以便所有其他页面通过包含查看。任何帮助都是极好的。 托管在godaddy上,所以我无法修改php.ini,他们让我修改.user.ini。当我回显信息时,它显示正确。

SESSION START-<?php echo $_SESSION['time']; ?> Displays time user logged in.
SESSION TIMOUT-<?php echo ini_get('session.gc_maxlifetime'); ?> Displays 7200 
SESSION COOKIE-<?php echo ini_get('session.cookie_lifetime'); ?> Displays 0

<?php
function error_found(){
header("Location: inc/records.php");
}
$lifetime=0;
session_set_cookie_params($lifetime);
ini_set('session.gc_maxlifetime', 7200);
session_start();

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-control: no-cache");
header("Pragma: no-cache");

ob_start();

注意:刷新页面、提交表单或任何其他导航时,session_start() 不会更新。这可能是问题所在吗?

最佳答案

在 Marek 的帮助下,这是我的解决方案。 创建新文件夹作为保存路径。验证权限未设置为只读。 将每个文件夹中的 phpini.ini 或 .user.ini 设置为:

session.gc_maxlifetime = 7200 \\ Seconds you want. I set to 2 hrs.
session.gc_divisor = 1 
session.save_path = /home/folder/public_html/site.com/Your_new_folder

关于php - PHP MySQL 的 session 超时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47780944/

相关文章:

php - 如何从 Artisan Command 访问 WordPress 功能

与 SYMFONY 一起使用的 PHP 框架 AMPHP/THREAD - 它必须安装在哪里?

mysql - Visual Studio Community 2015 MySQL 数据源未出现

session - MVC5 OWIN 身份验证持久性在本地工作,但发布后很快就会超时

php - PDO 和自定义数据库包装类 : static or instance?

php - 合并 2 个 while 循环结果

mysql - 创建带有日期列的表

mysql - SQL:INSERT + SET - 标准的还是特定于 MySQL 的?

php - 单击时从 session 数组中取消设置某些项目?

c++ - 异步 cppcms session 。模式