bestit, зайдите в настройки — в колонке слева кнопка «Система» — нажмите и посмотрите, какая там указана версия php.
Версия PHP: 7.4.25, apache2handler
Добавлено спустя 45 минут
Убедитесь, что в конфиге php cli в open_basedir указана директория сессий.
open_basedir 'no value'
У меня shared хостинг и возможность управлять настройками php ограничена лишь некоторыми директивами .htaccess
Убедитесь, что пользователю, от которого запускается команда для CRON, директория сессий доступна для чтения списка файлов.
От кого запускается крон, который я настраиваю в панели хостера — это как я могу посмотреть?
Команда top, запущенная по ssh мне показывают минимум — только саму запущенную мной команду top :)
Из-за общего хостинга все права на папки внутри домашней директории с моей учеткой у хостера: bestit
Корень, доступный мне — это папка ~, которая указывает на домашнюю папку, созданную для моей учетки.
/home/b/bestit
Приведу скрин из phpinfo() — все настройки sessions (спойлер)
Там как раз указана общая для всех корневая /tmp/php_sess папка. Ее содержимое (скрин я приводил ранее) для моей учетки доступно только для чтения. Поэтому у меня и было желание организовать папку для сессий внутри домашней директории, чтобы контролировать ее.
Указание папки tmp/php_sess (без первого слеша) в настройках InstantCMS приводит к созданию папки в корне сайта. Файлы сессий там начинают появляться. Если запускать задание sessionclean вручную из планировщика Instant, то папка очищается как положено. И настроенный запуск cron.php через панель хостера тоже отрабатывает. При этом задание sessionclean тоже срабатывает. НО. Моя папка сессий уже не очищается от старых сессий.
Массив $files = glob($this->cms_config->session_save_path.'/ses*') пустой
Добавлено спустя 27 минут
Я нашел обходное решение. Указал в cron_sessionclean.php вместо использования переменной из конфига абсолютный путь до папки сессий.
//$files = glob($this->cms_config->session_save_path.'/ses*');
$files = glob('/home/b/bestit/bestit.beget.tech/public_html/tmp/php_sess/ses*');
И по отладочной информации я стал видеть количество файлов сессий в моей папке. (время сессий в конфиге сейчас 10 минут).
11.11.2022 12:05:02 Maxlife: 600 Files count: 1
11.11.2022 12:15:01 Maxlife: 600 Files count: 2
11.11.2022 12:20:02 Maxlife: 600 Files count: 1
Вот теперь все работает ожидаемо. Вошел на сайт — файл сессий создался. Через 10 минут создался второй файл сессий. Из-за разницы времени запуска крона первый файл удалился чуть позже и меня выбросило на авторизацию. Как я понимаю в момент когда первый файл сессии удалился по расписанию. И после нового входа создался третий файл.
Добавлено спустя 17 минут
В общем, я открыл очередную Америку!
А если бы следовал подсказкам для поля, то можно было сразу догадаться, что такое полный путь для shared хостинг
Я вернул оригинальный cron_sessionclean.php и настройку. Все работает. Спасибо всем, кто откликнулся.