Использование конкретных переменных сеанса во внешнем скрипте
Я использую Concrete5 из внешнего скрипта. (Конечная цель - внешняя аутентификация в другой системе). Поэтому я реализовал это, как упомянуто здесь: начальная загрузка C5 из внешнего скрипта
Он отлично работает, я могу получить доступ ко всем классам. Однако при использовании класса Session переменные не сохраняются дольше одного выполнения. Поэтому при запуске следующего сценария выводится "succes!" никогда не показывается.
define('C5_ENVIRONMENT_ONLY', true);
define('REDIRECT_TO_BASE_URL', false);
require('index.php');
if(!Session::get('uID')) {
echo ("Better luck next time...");
Session::set('uID', 1);
echo ("Var set: ".Session::get('uID'));
} else {
echo("succes!");
}
Кто-нибудь знает, что должно измениться, чтобы сделать эту работу?
1 ответ
При запуске из браузера хэш сессии сохраняется в куки. Ваш скрипт может создать сеанс, но в следующий раз он не сможет его идентифицировать. Попробуйте записать хеш в файл, а затем найдите и прочитайте этот файл, чтобы получить существующий сеанс.