我有2个笨安装在同一服务器上运行。
所述第一应用程序是:本地主机/ AA / index.php的
第二应用是:本地主机/ AA /发票/ index.php的
所述第二应用程序是在所述第一应用程序的文件夹。 在实际环境中,他们将在同一个域。 我想获得一个单点登录工作 - 所以,如果我有用户数据在AA应用程序,我应该能够验证发票文件夹还设置。
是否有共享会话的方式。
由于文件夹将始终是在同一个域,我愿意与词库(仅PHP)外还会话工作。
编辑:他们表现出相同的会话ID时,他们没有任何数据。 我想补充一个应用程序的某些变量的那一刻,其他熄灭同步。
我也有被存储在数据库中的会话(包括应用程序共享同一个数据库。)
请建议。
谢谢! :)
笨由于某种原因,推出自己的会话实现,而不是本地的PHP会议。
http://codeigniter.com/user_guide/libraries/sessions.html
你得到使用的选择:
- 饼干存储(不理想,小的存储大小,在cookie中的敏感数据?)。
- 数据库会话(使用会话cookie仍然存在)。
- 覆盖并推出自己的(使用PHP本身的会议!)
显然,你需要确保你的会话标识符配置正确,那么这两个应用程序可以从同一个会话的数据读取。 如果使用的数据库实现,你需要确保两个应用程序可以访问相同的数据块。
为了增加复杂性,如果你选择加密的会话,由加密类使用的盐还需要是相同的两个应用程式的,所以任何一个能够解密共享会话数据。
$config['sess_cookie_name'] = 'myvalue';
在config.php文件,你可以同时在CI应用程序设置相同的值,以“文件”会话驱动程序
CI_Session Object
([用户数据] =>数组([__ci_last_regenerate] => 1490351129 [等级] => 1 [用户] => 103 [全名] =>鲁火山)
[_driver:protected] => files
[_config:protected] => Array
(
[cookie_lifetime] => 600
[cookie_name] => MyHiddenValue
[cookie_path] => /
[cookie_domain] =>
[cookie_secure] =>
[expiration] => 600
[match_ip] =>
[save_path] => /tmp
)
)
如果可能我....我也注意到,这些设计问题,这是不实际的,并违背了正常的公约应提供长期和深层次问题的基础....你应该问你自己确有必要/建议2个不同的版本时,我们知道他们是2个不同的版本,他们做不同的事情的原因的框架之间共享会话数据......我只能说,不管你做什么..此设计缺陷,应使你的架构和脆弱迟早你将不得不放弃它。
PLZ让如果以后你发现,否则我知道..
如果使用相同的加密密钥,默认情况下,在同一台服务器上安装代码,无论是安装将共享会话。 事实上,我发现,当我复制一个笨安装另一个客户端,但在同一台服务器上。 我认为这是一个错误,因为我很担心。
$config['encryption_key'] = 'epitome';
该encryption_key
配置名称将是这两个应用程序文件夹相同。
路径改变encryption_key
的笨是application/config/config.php
的行号228。
如果你的代码移动到同一个服务器,无论是会议将开始通过默认共享。