Ошибка сессии в PHP7 при логине в менеджере
Столкнулся с ошибкой PHP session_start() при попытке залогиниться в менеджере (PHP 7 + MODX REVO 2.5.0). В результате войти в менеджер не получается — выбрасывает на страницу с формой входа без каких-либо сообщений. Чичтил куки, удалял кэш, очищал таблицу modx_session — результат тот же. Одновременно нет никаких проблем с логином в контекст web через Login. Раньше с авторизацией в менеджере все было в порядке. Перешел на PHP 5.6 авторизация заработала.
Лог PHP:
PHP Warning: session_start(): Session callback expects true/false return value in ...../core/model/modx/modx.class.php on line 2270
В журнале ошибок менеджера:
(ERROR @ ......../core/model/modx/moduser.class.php: 355) PHP warning: session_regenerate_id(): Cannot regenerate session id — session is not active
Кто-нибудь сталкивался с подобной проблемой? Хотелось бы работать на PHP7.
Лог PHP:
PHP Warning: session_start(): Session callback expects true/false return value in ...../core/model/modx/modx.class.php on line 2270
В журнале ошибок менеджера:
(ERROR @ ......../core/model/modx/moduser.class.php: 355) PHP warning: session_regenerate_id(): Cannot regenerate session id — session is not active
Кто-нибудь сталкивался с подобной проблемой? Хотелось бы работать на PHP7.
Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
такая ошибка мешала или другая уже не помню
решилось правкой кода:
файл:
core/model/modx/modmanagerresponse.class.php
функция:
public function instantiateController($className,$getInstanceMethod = 'getInstance') {
…
было так:
$this->modx->controller = call_user_func_array(array($c,$getInstanceMethod),array($this->modx,$className,$this->action));
делал так:
$this->modx->controller = $c->getInstance($this->modx,$className,$this->action);
додумался не сам. подсказал друг. мне помогло
13401
13073
Причем эти ошибки валятся во фронтенд и яндекс с гуглом индексируют сайты с такими ошибками.
Так как никто не правит ошибки сессий — есть временное решение в системных настройках session_handler_class сделать пустым (удалить modSessionHandler).
Появилось все только после переключения сайта на php7.
Кстати, яндекс видит 43 таких страницы из примерно 12000 в индексе.
Катательно сессий, то проблема есть, раз issues заведены, но я ничего такого специфического не использовал, чтобы такие ошибки могли проявиться.