我使用PHP会话作为网站用户系统的重点。 作为网站的pipe理员,我想删除特定的会话来强制用户注销。 或者至less删除所有会话,以便每个人都必须再次login(例如,一个主要的网站更新)。 理想情况下,通过一个PHP命令,但如果是通过删除文件,我可以显然这样做与PHP文件命令。
我有共享Linux的networking托pipe(没有什么特别的,有一个cPanel接口)。 我看到这个问题PHP会话文件是否被删除?
/ tmp只有统计文件和一个空的pear文件夹。
在写这个我认为我最好检查phpinfo()。 session.save_path是/ tmp(local和master)。 我想找什么样的文件名?
最大的问题是,是否希望能够删除指定用户的会话 – 用户标识的概念是通过您的应用程序代码或您正在使用的框架实现的 – 所以PHP不知道如何区分特定的用户。 没有一个可识别的用户,很可能有一个会话。 会话pipe理,身份validation和授权都是单独的问题,在php中标准提供的function只针对前者。
话虽如此,PHP使得它很容易实现自己的会话存储,所以它应该是微不足道的编写自己的函数,维护用户ID和会话ID之间的映射(这不必在会话处理程序中完成 – 但它是正确的地方)。
如果你只想closures所有会话,并且使用默认处理程序,那么只需删除php.ini文件中由session.save_path指定的目录中的文件即可。