PHP 会话在移动浏览器上过早销毁

PHP session destroyed too soon on mobile browser(s)

我有以下问题。我正在构建一个 PHP + jQuery 移动网站,我想维护 PHP 会话。 这里的问题是,当我关闭浏览器应用程序(Samsung Galaxy S4/S5 或 Google Chrome on Android)并且我离开 phone 说,十分钟,然后重新打开浏览器,整个会话好像被破坏了,我不得不重新登录。

我试过这样延长 cookie 的生命周期:

ini_set('session.cookie_lifetime', 60 * 60 * 24);
ini_set('session.gc-maxlifetime', 60 * 60 * 24);
session_start();

但这并不能解决问题。我认为这是因为浏览器应用程序会在闲置一段时间后清除会话数据。

请注意,我不想使用 "remember me" 功能,我只想使用 PHP 会话 ID。

解决这个问题的正确方法是什么?我查看了本地存储,但浏览器应用清除整个会话似乎很奇怪,我正在寻找最简单的解决方案。

与其尝试修改 ini 值,不如尝试使用 session_set_cookie_params 函数,如下所示:

session_set_cookie_params(60 * 60 * 24);
session_start();

我使用 php.ini 设置

修复了它(经过大量尝试)
session.gc_maxlifetime = 3600

执行此操作后,移动浏览器使会话保持活动状态。即使我把我的 phone 放得更久。

如果通过脚本完成,显然设置 maxlifetime 不起作用。