You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级至PHP 7.4后会话1小时无活动即丢失问题求助

问题排查与解决方案

针对升级PHP 7.4后会话1小时失效的问题,结合Zend Framework 2和AWS EC2环境,按以下步骤排查:

1. 确认实际生效的PHP会话参数

php.ini配置可能被Apache虚拟主机、.htaccess或PHP-FPM池配置覆盖,先验证实际生效的参数:
创建一个PHP文件,写入以下代码并访问:

<?php
var_dump([
    'session.gc_maxlifetime' => ini_get('session.gc_maxlifetime'),
    'session.cookie_lifetime' => ini_get('session.cookie_lifetime'),
    'session.save_path' => ini_get('session.save_path'),
    'session.gc_probability' => ini_get('session.gc_probability'),
    'session.gc_divisor' => ini_get('session.gc_divisor')
]);
?>

重点关注:

  • session.cookie_lifetime:若值为0(会话Cookie)或3600(1小时),会导致浏览器1小时后或关闭时丢失PHPSESSID,需改为864000(10天)。
  • session.gc_maxlifetime:确认是否确实为864000,若不是则排查哪里覆盖了配置。

2. 检查Zend Framework 2的会话配置

ZF2的Zend\Session组件可能覆盖PHP默认配置,查看项目各模块的module.config.php,确认是否有会话相关配置:

'session' => [
    'config' => [
        'class' => 'Zend\Session\Config\SessionConfig',
        'options' => [
            'gc_maxlifetime' => 864000, // 10天
            'cookie_lifetime' => 864000,
            'cookie_httponly' => true, // 可选,增强安全
        ],
    ],
    'storage' => 'Zend\Session\Storage\SessionArrayStorage',
    'validators' => [
        'Zend\Session\Validator\RemoteAddr',
        'Zend\Session\Validator\HttpUserAgent',
    ],
],

如果没有上述配置,添加后重启Apache,确保ZF2使用正确的会话有效期。

3. 排查AWS EC2的系统定时清理任务

若会话存储目录为/tmp(PHP默认路径),AWS EC2可能通过tmpwatch或systemd-tmpfiles定时清理临时文件:

  • 检查定时任务:执行crontab -l 或查看/etc/cron.d/tmpwatch
  • 查看systemd tmpfiles配置:执行cat /usr/lib/tmpfiles.d/tmp.conf
    如果发现配置会在1小时内清理/tmp下的文件,需修改配置排除会话存储目录,或修改session.save_path到非临时目录(比如/var/lib/php/sessions),并确保PHP进程有读写权限。

4. 验证会话文件的生命周期

手动创建一个测试会话,访问应用后查看会话存储目录下的文件,记录其修改时间。等待1小时后再次检查:

  • 如果文件被删除:说明GC触发时识别的过期时间不是10天,回到步骤1确认gc_maxlifetime是否生效。
  • 如果文件存在但浏览器仍需重新登录:说明浏览器Cookie已过期,回到步骤1检查cookie_lifetime。

5. 排查会话存储权限

确保session.save_path指向的目录权限正确,Apache/PHP进程(通常是apache或www-data用户)拥有读写权限:

chown -R apache:apache /var/lib/php/sessions
chmod 700 /var/lib/php/sessions

内容的提问来源于stack exchange,提问作者Gabriel Cunha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 11:57:18