php - 意外的会话终止
问题描述
我们遇到了一些奇怪的用户从我们的 Web 应用程序中注销的行为。我们知道关于这个问题有多个线程,我们查看并查看了其中的许多线程,但没有一个能让我们更接近解决这个问题。
一个典型的情况是,用户打开我们的应用程序,浏览到所需的部分,开始输入新信息或更改现有信息,然后保存他的工作。只是发现保存不再起作用,因为会话已关闭。仅工作几分钟后,可能会出现此行为。但是,大多数时候,这工作得很好。在其他情况下,即使工作 90 分钟并保存/提交,它也能正常工作。
因此,为了清楚起见,在完全相同的页面上,完全相同的 PHP Skript 随机注销发生在随机间隔之后,这对我们来说并非始终可复制。
没有实现编程会话计时器或自动注销。
到目前为止我们已经检查和尝试过的内容:
- PHP 会话处于活动状态,在涉及的每个脚本中都会适当地调用 session_start()。
- 没有 session_destroy、session_unset、$_SESSION = "" 或类似的调用。即使我们忽略了这些,它们也会始终如一地破坏会话
- php.ini 值已被多次审查,设置为
session.gc_maxlifetime = 7200
session.cookie_lifetime = 7200
实现了一个调用 PHP 脚本的后台 ajax 函数,其唯一目的是刷新当前会话。ajax 函数每两分钟调用一次。随机注销仍然发生。
检查 Web 服务器 (apache2) 的正常运行时间。也许会有一些奇怪的 apache2 重新启动,由任何原因引起。但不,服务器正常运行时间检查。
对此的任何帮助将不胜感激!
解决方案
推荐阅读
- java - 使用 Java 将字符串与 CMD 输出进行比较
- reactjs - 尝试将 SASS 添加到 docz 但 docz 文件夹不断重置
- python-3.x - Python3 解码字节
- javascript - 为什么 Uptime 命令给我一个错误?';' 预期 Discord.js
- node.js - 如何收听使用非现有字段创建的 Firestore 文档并在 Cloud Functions 中设置默认值?
- r - 我在 shapefile 中读取和绘制它的方式有问题吗?
- javascript - 使用 react-table 7,当使用双向绑定到表的数据源时,可编辑单元格会在每次更改时重新呈现,我失去了对输入的关注
- laravel - Laravel Eloquent 在 Select2 中显示父子数据
- python - 使用 Python 的 Amazon Seller Central Selenium 下拉选择错误
- android - 使用小米设备从 mysql 中获取数据