确保php.ini中的session.gc_maxlifetime参数正确设置为期望的超时时间(以秒为单位)。
如果您使用的是PHP 7.2或更高版本,请为session设置cookie参数。在php.ini中,将以下行添加到尾部: session.cookie_lifetime = 86400 session.cookie_secure = On session.cookie_httponly = On session.cookie_samesite = Lax
确保session保存路径在PHP用户可写的目录中。在php.ini中,将以下行添加到尾部: session.save_path = "/tmp"
检查是否存在定时清除session的cron作业,导致超时无效。在cron中取消该作业。
确保EC2实例的系统时间与您所在时区的时间一致。查看默认时区: date +%Z 确认时区是否正确。如果不正确,请配置正确的时区。
重新启动Apache服务器和PHP服务。 sudo service apache2 restart sudo service php7.x-fpm restart (如果使用PHP-FPM)
如果上述步骤无效,请考虑使用数据库存储session而不是文件存储session。
使用以上任意一种方法都可以解决PHP session超时不起作用的问题。