Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
命令行刷新linux box上的php会话_Php_Linux - Fatal编程技术网

命令行刷新linux box上的php会话

命令行刷新linux box上的php会话,php,linux,Php,Linux,我在AWS centOS linux上有一个灯堆。更新我的网站后,我想通过清除所有会话强制所有用户重新登录。 最好的方法是什么? 有没有办法清除当前PHP中的所有会话?没有“flush session”命令。通过从会话存储中删除会话,可以实现相同的效果。默认情况下,php将会话存储在文件中,因此通过删除这些文件,可以强制所有客户端重新登录 使用以下配置指令配置会话存储路径: 编辑: 我在centos上找到了默认会话路径。它是/var/lib/php/session 所以命令应该是 rm -rf

我在AWS centOS linux上有一个灯堆。更新我的网站后,我想通过清除所有会话强制所有用户重新登录。
最好的方法是什么?
有没有办法清除当前PHP中的所有会话?

没有“flush session”命令。通过从会话存储中删除会话,可以实现相同的效果。默认情况下,php将会话存储在文件中,因此通过删除这些文件,可以强制所有客户端重新登录

使用以下配置指令配置会话存储路径:

编辑: 我在centos上找到了默认会话路径。它是/var/lib/php/session 所以命令应该是

rm -rf /var/lib/php/session/* 

在第一次执行此操作之前,我建议您进行备份,因为我尚未对其进行测试。

这在很大程度上取决于应用程序存储会话的位置。如果您没有在项目中手动重写会话处理程序,它将默认为php.ini文件中的任何路径。要查找php.ini文件,请执行以下操作:

$ find / -name php.ini
在CentOS上,它通常位于/etc/php.ini中

检查php.ini中的会话保存路径(我认为在php-FPM CentOS安装中默认为/tmp):

删除指定文件夹的内容:

$ rm -Rf /var/lib/php/session/*

现在,应清除所有当前用户会话。如果将会话存储在数据库或内存中,您需要通过用于会话管理的任何软件手动清除会话。

我得到一个
无法读取目录–var/lib/php/session–权限被拒绝
所以我运行了sudo
sudo rm-Rf/var/lib/php/session/*
但是会话未被清除更改为apache:
sudo chown-Rapache:apache/var/lib/php/session
但我所做的仍然是将所有权更改为本地用户,然后使用
sftp
程序转到该文件夹并手动删除该目录的内容哦,不,现在php无法写入会话<代码>警告:未知:无法写入会话数据(文件)。请验证第0行未知中session.save_path的当前设置是否正确(/var/lib/php/session)将所有权从
根目录更改为
apache
解决了此问题
$ rm -Rf /var/lib/php/session/*