Подтвердить что ты не робот

Можно ли безопасно удалить все содержимое в/var/lib/php5?

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

Через SSH потребовалось несколько минут, чтобы сделать количество файлов, и я не уверен, что могу перемещаться туда со всеми этими случайными именами файлов. Настройка - ubuntu lucid linx, apache 2 и php5. В наиболее распространенных установках есть другие папки/файлы в /var/lib/php5, которые я не должен удалить?

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

4b9b3361

Ответ 1

Пусть 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 script. Таким образом, сторонники пакетов отключают автоматический сеансовый мусор коллекция.

Или вы можете попробовать поставить 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/php 5/.

pps: нашел интересный комментарий

Это не отключает его (он прокомментирован). Значение по умолчанию в двигатель по-прежнему используется - phpinfo() показывает, что значение равно 1. Существует проблема с сборкой мусора в Debian (и, следовательно, Ubuntu), но это из-за того, что PHP хочет вакуумировать мусор, который уже был удален cron script. Это вызывает ошибку, которая может отображаться на несчастливая страница.

Ответ 2

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

Ответ 3

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

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

Ответ 4

На моем компьютере ubuntu, в /var/lib/php 5, есть файл sess ID: sess_a7kjdaojmneuhcgslj

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

sudo rm sess_a7 *

У меня появилось сообщение об ошибке, в котором нет такого файла. Я должен был использовать полное имя как:

sudo rm sess_a7kjdaojmneuhcgslj

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