我可以安全地删除/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