簡體   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