Я не думаю, что это хорошая идея, чтобы разделить сессию между двумя веб-приложениями.Каждое веб-приложение запускается в своем собственном процессе и имеет свои границы, которые существуют по определенной причине.
Однако вы можете сделать это с помощью:
хранилища файлов cookie (не идеально, небольшой размер хранилища,конфиденциальные данные в куки?).сеансы базы данных (сохраняются с использованием cookie идентификатора сеанса).Переопределите и сверните свои собственные (для использования нативных сессий php!)
Так как вам нужно убедиться, что ваш идентификатор сеанса настроен правильно, так что оба приложения.При использовании реализации базы данных вам необходимо убедиться, что оба приложения могут обращаться к одной и той же БД.
Просто убедитесь, что ваш $ config ['encryption_key'] одинаков для обоих проектов.
Сохраните сеанс в БД и используйте одну и ту же БД для обоих проектов.
Codeiniter 2 +:
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
Codeiniter 3 +:
$config['sess_driver'] = 'database';
$config['sess_save_path'] = 'ci_sessions';
Codeigniter 2 MySQL:
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
Codeigniter 3 MySQL:
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(128) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
KEY `ci_sessions_timestamp` (`timestamp`)
);