繁体   English   中英

我可以安全地删除 /var/lib/php5 中的所有内容吗?

[英]Can I safely delete all content in /var/lib/php5?

我在/var/lib/php5有超过 500 万个会话文件,我想使用rm *删除此文件夹中的所有文件,但是我不确定该目录中是否还有不应该删除的会话文件以外的其他文件被删除。

通过 SSH 需要几分钟来计算文件数量,我不确定我是否可以使用所有这些随机文件名浏览那里。 设置是 ubuntu lucid linx、apache 2 和 php5。 在最常见的设置中, /var/lib/php5中是否还有其他文件夹/文件我不应该删除?

编辑我想删除文件的原因是因为我将会话处理移到了数据库并且不再需要任何文件。

cd /var/lib/php5
find . -name "sess_*" -print | xargs rm -v

让 PHP 的 gc 自己执行清理。 找到 php.ini 并将session.gc_probability更改为更大的内容,保存并重新启动 Apache(调用任何 php 脚本)。 它在这里说http://somethingemporium.com/2007/06/obscure-error-with-php5-on-debian-ubuntu-session-phpini-garbage

在 Debian 和 Ubuntu 中,存储会话数据的 /var/lib/php5 具有 drwx-wx-wt 权限,只能由 cron 脚本清除。 因此,包维护者禁用自动会话垃圾收集。

或者你可以尝试把ini_set('session.gc_probability', 100); session_start(); ini_set('session.gc_probability', 100); session_start(); (如果您的session.gc_divisor等于 100)在您的脚本之一中并调用它。 最好的方法是放入空的 php 文件,因为它可能会执行很长时间的清理工作。

ps:我也会尝试保留session.gc_probability 1 并将session.gc_divisor设置为 1。它应该在每次运行时调用 gc,但你只需要它来清理目录。

并检查您的 cron /etc/cron.d/php5 - 它应该每半小时运行一次以清除 /var/lib/php5/ 目录中的会话文件。

pps:发现有趣的评论

这不会禁用它(它已被注释掉)。 仍然使用引擎中的默认值 - phpinfo() 显示的值为 1。 Debian(以及 Ubuntu)中的垃圾收集存在问题,但这是因为 PHP 想要清除已被 cron 删除的垃圾脚本。 这会导致可能会显示在倒霉页面上的错误。

cd /var/lib/php5
sudo find . -name "sess_*" -print |sudo xargs rm -v

这在我的情况下有效。

在我的 ubuntu 计算机上,在 /var/lib/php5,有一个 sess ID 文件:sess_a7kjdaojmneuhcgslj

如果我尝试使用以下命令删除此文件:

须藤 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM