Очистка сессий в ModX и ошибки session_start()
        После перехода на PHP7 и включения
session.gc_probability = 1
session.gc_divisor = 100
для автоматической очистки устаревших сессий. Случайным образом сыпятся ошибки:
Got error 'PHP message: PHP Warning: session_start(): Session callback expects true/false return value in /srv/www/core/model/modx/modx.class.php on line 2270\n'
Кто-нибудь сталкивался? Как с этим бороться? В яндексе нашел кучу сайтов у которых уже заиндексировались подобные ошибки, значит проблема носит массовый характер. :(
    
    
                                                                                
            session.gc_probability = 1
session.gc_divisor = 100
для автоматической очистки устаревших сессий. Случайным образом сыпятся ошибки:
Got error 'PHP message: PHP Warning: session_start(): Session callback expects true/false return value in /srv/www/core/model/modx/modx.class.php on line 2270\n'
Кто-нибудь сталкивался? Как с этим бороться? В яндексе нашел кучу сайтов у которых уже заиндексировались подобные ошибки, значит проблема носит массовый характер. :(
Комментарии: 7
                Похоже это баг ModX, связанный с несовместимостью… 
Завел тикет: github.com/modxcms/revolution/issues/13073
Но если кто-то уже решал проблему, отпишитесь, пожалуйста.
                    Завел тикет: github.com/modxcms/revolution/issues/13073
Но если кто-то уже решал проблему, отпишитесь, пожалуйста.
                Это же warning, что сессия уже ранее была стартанута. Ну поставь @ перед и забей либо правь там где идёт вызов session_start дополнительную проверку:
if (session_status() !== PHP_SESSION_ACTIVE) {
session_start();
}
            
                    if (session_status() !== PHP_SESSION_ACTIVE) {
session_start();
}
                Вообще-то нет… Это warning о том, что callback функция ModX, переопределяющая поведения сборщика мусора сессий возвращает что-то иное, чем true/false.
Такая же точно проблема была в roundcube и решили ее вот так:
github.com/roundcube/roundcubemail/commit/d72e5afb47b68151ac5912dbd52732b41c84cb5c
                    Такая же точно проблема была в roundcube и решили ее вот так:
github.com/roundcube/roundcubemail/commit/d72e5afb47b68151ac5912dbd52732b41c84cb5c
                Примерно с июля массово фиксируется рандомное появление 404 на рабочих страницах.
Превышений по нагрузке вроде бы нет.
Но лог modhost у меня завален этой ошибкой, подозреваю связь с появлением 404.
                    Превышений по нагрузке вроде бы нет.
Но лог modhost у меня завален этой ошибкой, подозреваю связь с появлением 404.
                Константин, вы как-то решили данную проблему?            
                    
                И да и нет. Это явная ошибка ModX. Там нужно переписывать одну функцию, чтобы та возвращала корректное значение. Я оставил подробное описание того, что требуется исправить на github'е:
github.com/modxcms/revolution/issues/13073
Но разработчики не очень-то торопятся исправлять эту ошибку. Уже 2 месяца, как тикет висит не закрытым.
                    github.com/modxcms/revolution/issues/13073
Но разработчики не очень-то торопятся исправлять эту ошибку. Уже 2 месяца, как тикет висит не закрытым.
                Отправил PR в ядро — вроде работает.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.