Премахване на изтекли PHP сесии от временните директории
📋 Общ преглед
Скриптът /usr/local/cpanel/scripts/clean_user_php_sessions изтрива изтекли PHP сесии, които се съхраняват във временна директория. Това са файловете, които PHP създава за управление на сесиите (временни данни за потребители, логин състояния и др.).
📌 Този скрипт:
- Проверява настройките session.gc_maxlifetime и session.save_path от глобалния php.ini файл
- Изтрива всички изтекли сесии, базирайки се на зададеното време за живот (lifetime)
Какво трябва да знаеш:
- Скриптът изисква root достъп
- Препоръчва се да се стартира поне веднъж дневно
- Обикновено се добавя автоматично в crontab чрез системния скрипт /scripts/maintenance
- Работи с всички версии на PHP, инсталирани чрез EasyApache 4
- Ако имаш няколко PHP версии, но сесиите се съхраняват в една и съща директория, скриптът ще използва най-малката стойност на gc_maxlifetime
Стартиране на скрипта
/usr/local/cpanel/scripts/clean_user_php_sessions
📌 По подразбиране се трият файлове, които започват с sess_
Опции
| Опция | Описание | Пример |
| Перл съвместим регулярен израз (PCRE) | Позволява ти да зададеш собствен шаблон за имената на PHP сесиите (ако не са в стандартния sess_* формат) |
/usr/local/cpanel/scripts/clean_user_php_sessions ‘^ci_session[[:alnum:]]\{40}$’
Пример
Ако сесиите на сайта ти се казват например ci_session_abc123… (примерно CodeIgniter framework), можеш да ги изчистиш със следната команда:
/usr/local/cpanel/scripts/clean_user_php_sessions ‘^ci_session[[:alnum:]]{40}$’
⚠️ Важно:
- Увери се, че регулярният израз е точен, за да не изтриеш грешни файлове!
- Ако си задал session.gc_maxlifetime, но не си задал session.save_path, скриптът няма да използва стойността на gc_maxlifetime — ще се игнорира.