我可以安全地删除/var/lib/php5中的所有内容吗?
我在我可以安全地删除/var/lib/php5中的所有内容吗?,php,session,Php,Session,我在/var/lib/php5 我想使用rm*删除此文件夹中的所有文件,但我不确定该目录中除会话文件外是否还有其他文件不应删除 通过SSH,花了几分钟的时间来计算文件的数量,我不确定我是否可以使用所有这些随机文件名浏览这些文件。 安装程序是UbuntuLucidLinx、Apache2和php5。在最常见的设置中,/var/lib/php5中还有其他我不应该删除的文件夹/文件吗 编辑我想删除文件的原因是我将会话处理移到了数据库中,不再需要任何文件。让PHP的gc自己执行清理。找到php.ini并
/var/lib/php5
我想使用rm*
删除此文件夹中的所有文件,但我不确定该目录中除会话文件外是否还有其他文件不应删除
通过SSH,花了几分钟的时间来计算文件的数量,我不确定我是否可以使用所有这些随机文件名浏览这些文件。
安装程序是UbuntuLucidLinx、Apache2和php5。在最常见的设置中,/var/lib/php5
中还有其他我不应该删除的文件夹/文件吗
编辑我想删除文件的原因是我将会话处理移到了数据库中,不再需要任何文件。让PHP的gc自己执行清理。找到php.ini并将
session.gc\u probability
更改为更大的值,保存它并重新启动Apache(调用任何php脚本)。上面写着
在Debian和Ubuntu中,/var/lib/php5存储会话数据,
具有drwx wx wt的权限,只能由cron清理
剧本因此,包维护者禁用自动会话垃圾
收藏
或者您可以尝试将ini\u设置为('session.gc\u probability',100);会话_start()代码>(如果您的session.gc_除数
等于100)并调用它。最好的方法是放入空的php文件,因为它可能会执行很长一段时间的清理
ps:我也会尝试离开session.gc\u概率
1,并将session.gc\u除数
设置为1。它应该在每次运行时调用gc,但您需要它只是为了清理目录
并检查cron/etc/cron.d/php5
——它应该每半小时运行一次,以清除/var/lib/php5/目录中的会话文件
pps:发现有趣的评论
这不会禁用它(它被注释掉)。中的默认值
引擎仍在使用-phpinfo()显示值为1。有一个
Debian(以及Ubuntu)中的垃圾收集有问题,但那是
由于PHP希望清理已被清除的垃圾
cron脚本。这会导致错误,该错误可能会显示在屏幕上
不幸的一页
在我的ubuntu计算机上,在/var/lib/php5,有一个sess ID文件:
sess_a7kjdaojmneuhcgslj
如果我尝试使用以下命令删除此文件:
sudo rm sess_a7*
我收到一条错误消息说没有这样的文件。我必须使用全名作为:
sudo rm sess_a7kjdaojmneuhcgslj
成功了。这是我的两分钱。在PHP7
中,这起作用了
cd /var/lib/php/sessions/
sudo find . -name "sess_*" -print |sudo xargs rm -v
如果您使用的是CODEIGNITER
,请尝试使用以下命令
cd /var/lib/php/sessions/
sudo find . -name "ci_*" -print |sudo xargs rm -v
sudo find . -name "cises*" -print |sudo xargs rm -v
更改这些设置将删除所有旧会话文件?事实上,我只想尽快删除所有文件,但会话生存期设置为2周。@Moak是的,它将删除过时的数据。您还可以更改仅用于清理运行的时间周期。顺便问一下,会话文件的名称中有任何特定部分吗?如果你愿意,你可以用它来过滤。无论如何,检查cron作业并运行它。在我的例子(SuSE 11.2)中,它一开始不工作。我发现在我发布rcapache2 reload
时,对php.ini的更改得到了应用。为什么不干脆rm-v/var/lib/php5/sess.*
?因为有大量的文件,rm
会过早退出,并出现“参数列表太长”错误,而实际上不会删除任何文件。使用find
查找文件,并将结果一个接一个地传送到xargs
以绕过此限制。
cd /var/lib/php/sessions/
sudo find . -name "sess_*" -print |sudo xargs rm -v
cd /var/lib/php/sessions/
sudo find . -name "ci_*" -print |sudo xargs rm -v
sudo find . -name "cises*" -print |sudo xargs rm -v