Могу ли я безопасно удалить весь контент в / var / lib / php5? - PullRequest
13 голосов
/ 09 февраля 2012

У меня более 5 миллионов файлов сеансов в /var/lib/php5 Я хотел бы удалить все файлы в этой папке, используя rm *, однако я не уверен, есть ли в этом каталоге другие файлы, кроме файлов сеансов, которые должныне может быть удален.

Через SSH потребовалось несколько минут, чтобы подсчитать количество файлов, и я не уверен, что смогу перемещаться там со всеми этими случайными именами файлов.Настройка Ubuntu Lucid Linx, Apache 2 и PHP5.В наиболее распространенных настройках есть другие папки / файлы в /var/lib/php5, которые мне не следует удалять?

Редактировать Причина, по которой я хочу удалить файлы, заключается в том, что я перенес обработку сеанса вбазы данных и больше не нужны никакие файлы.

Ответы [ 4 ]

23 голосов
/ 01 мая 2012
cd /var/lib/php5
find . -name "sess_*" -print | xargs rm -v
13 голосов
/ 09 февраля 2012

Пусть 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(); (если ваш 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. Это вызывает ошибку, которая может отображаться на несчастливая страница.

0 голосов
/ 01 сентября 2017

На моем компьютере с Ubuntu, в / var / lib / php5, есть файл идентификатора sess: sess_a7kjdaojmneuhcgslj

Если я попытался удалить этот файл с помощью команды:

sudo rm sess_a7 *

Я получил сообщение об ошибке, в котором говорится, что такого файла нет. Мне пришлось использовать полное имя как:

sudo rm sess_a7kjdaojmneuhcgslj

Это сработало. Это мои два цента.

0 голосов
/ 14 мая 2017
cd /var/lib/php5
sudo find . -name "sess_*" -print |sudo xargs rm -v

Это сработало в моем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...