我有两个使用相同数据库的Yii应用程序。我最近连接了他们两个匹配Yii应用程序配置文件:
return array(
'id' => 'PROJECT',
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'project',
'components'=>array(
'user'=>array(
// enable cookie-based authentication
'allowAutoLogin'=>true,
'class'=>'WebUser',
),
'session'=> array(
'timeout'=> 1440
),
'partyroles'=>array(
// enable cookie-based authentication
'class'=>'WebUser',
),
两个应用程序都具有与上述相同的配置。连接两个应用程序的目的是在两者之间实现连续活动。例如,当用户登录app1时,他可以在不登录的情况下访问app2,反之亦然。
问题是它不稳定。有时它不适用于其他机器。有时用户登录到app1并且无法访问app2,但是当他们访问app2时,他们可以访问app1。这有什么问题?
更新
以下是我如何使用CdbHttpSession在我的数据库中存储会话:
'session'=>array(
'class'=>'CDbHttpSession',
'connectionID'=>'db',
'sessionTableName'=>'YiiSession',
'timeout' => 1440
),
另一方面,我的表YiiSession在用户登录时存储以下数据:
更新
为了清除这些问题,这两个应用程序位于一个域和服务器下。
答案 0 :(得分:2)
听起来像会话问题。您的两个Yii应用程序是在同一个物理Web服务器上还是它们是不同的服务器?你如何存储会话信息?在硬盘上?在数据库中?