我在AWS centOS linux上有一个LAMP堆栈。更新我的网站后,我想通过清除所有会话强制所有用户重新登录
最好的方法是什么?
有没有办法刷新当前用PHP的所有会话?
答案 0 :(得分:6)
这在很大程度上取决于您的应用程序存储会话的位置。如果您没有手动覆盖项目中的会话处理程序,它将默认为php.ini文件中的路径。找到你的php.ini文件:
$ find / -name php.ini
在CentOS上,它通常位于/etc/php.ini中。
检查php.ini的会话保存路径(默认为/ tmp,我认为在PHP-FPM CentOS上安装):
session.save_path = "/var/lib/php/session"
删除指定文件夹的内容:
$ rm -Rf /var/lib/php/session/*
现在应该清除所有当前用户会话。如果将会话存储在数据库或内存中,则需要通过用于会话管理的任何软件手动清除会话。
答案 1 :(得分:1)
没有“刷新会话”命令。您可以通过从会话存储中删除会话来实现相同的效果。默认情况下,php将会话存储在文件中,因此通过删除这些文件可以强制所有客户端再次登录。
使用此配置指令配置会话存储路径: http://us.php.net/manual/en/session.configuration.php#ini.session.save-path
编辑: 我在centos上找到了默认的会话路径。这是/ var / lib / php / session 所以命令将是
rm -rf /var/lib/php/session/*
我会建议您在第一次这样做之前进行备份,因为我还没有测试过它。