Чистим файлы сессий php в ubuntu
При возникновении такой ошибки на сайте: /var/lib/php5/sess_17100983f14cfa492864245288ba6640, O_RDWR) failed: No space left on device (28)
Дело может быть в том что закончились все инноды на вашем линукс сервере. Посмотреть можно в консоли так: df -i
А причиной могут быть сессии php, которые накопились и почему то сборщик мусора их не удаляет. Вручную можно попробовать удалить из через консоль
cd /var/lib/php5
find . -name "sess_*" -print | xargs rm -v
Как только в консоли движения не наблюдается(типа зависла) нажимаем Cntl-z и снова запускаем поиск и удаление до тех пор пока все не удалится!
Если терминал показывает ошибку : rm: cannot remove имя файла: Operation not permitted
то надо отменить команду cntrl-z, затем сменить права на файлы сессий командой:
sudo chmod -R 777 /var/lib/php5
После того как команда отработает, т.е. права на файлы поменяются, повторяем действия описанные выше.
А теперь правильное решение данной проблемы:
Нужно настроить удаление старых сессий php в автоматическом режиме!
- Заходим в php.ini (файл конфиг для php)
- Правим следующие параметры php:
session.gc_probability = 1 session.gc_divisor = 100 session.gc_maxlifetime = 43200
3. Перезагружаем сервер
После данных настроек, сессии которым более 12 часов от роду автоматически будут чиститься сборщиком мусора php!