php - 如何使用同一服务器访问不同codeigniter项目中的同一会话?
问题描述
如何在同一服务器内的不同 codeigniter 项目中访问相同的会话变量?请帮我 。当我在一个项目中设置会话变量时,不会从另一个项目中获取值。
解决方案
虽然,跨不同项目访问会话变量是违反安全性的,但既然你问了,你可以使用数据库访问会话变量。
在你的配置文件中
$config['sess_table_name'] = 'ci_sessions';
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
将驱动程序设置为数据库。
然后创建会话表:
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(40) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
PRIMARY KEY (id),
KEY `ci_sessions_timestamp` (`timestamp`)
);
codeigniter 现在将使用该表来存储会话。您可以跨项目访问此表中的数据(会话变量)。
请注意,codeigniter 每 5 分钟重新生成一次会话 id 并更新它。因此,您需要跟踪旧 ID 或父 ID,以备不时之需。此外,您可以生成并保留自己的 ID 以供参考,以避免使用 CI 的会话 ID。
希望这可以帮助
推荐阅读
- java - OIC - 查看或编辑 iflow 的现有端点时如何首先显示摘要页面?
- sql - 我对 SQL 很陌生。尝试连接两个没有别名的表
- data-analysis - 是否有程序可以观察每个变量对逻辑语句的敏感程度?
- python - 如何使用 Python 将文本分隔为 CSV 文件中的多个值?
- python - pyvisa得到不完整的响应
- ag-grid - 如何将数据添加到 AgGrid 网格中的分组行
- azure - 如何在 Log Analytics azure 中检索管道上次失败的时间
- puppeteer - 我可以从外部角度监听 Ag Grid 事件吗
- javascript - 我有一个共享的谷歌驱动器文件夹。有什么方法可以列出我的谷歌表格中的所有文件吗?
- python - tkinter 文件对话框中的 asksaveasfile 和 asksaveasfilename 有什么区别?