Yii - CDbHttpSession,登录前的会话表

时间:2015-06-15 07:30:20

标签: php apache session yii

我按照this教程创建我的用户在线列表 在我在Mac OSX上的本地MAMP服务器上工作正常,但如果我试图放入Ubuntu服务器,我收到此错误(在索引处,没有登录):

Fatal error: Uncaught exception 'CDbException' with message 'CDbCommand failed    to execute the SQL statement: SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'session' already exists.

我可以捕获异常,但我想知道,因为在OSX中它工作正常但在Ubuntu它不起作用。

我认为它可能是Apache或其他配置中的内容:是否可能?
是否在登录前创建了会话?组件在会话表中需要user_id(非空),所以我认为有什么我不理解的。
在php.ini中我设置了session.auto_start = 0。

1 个答案:

答案 0 :(得分:1)

可能问题在于,在这2台服务器中,您会略有不同,其中包括桌面会议'已经可以在Ubuntu服务器上使用,并且可能完全不同的原因处理你需要的东西,而在你的MAC环境中没有' session'表

我能想到的解决名称冲突的简单明了的方法是将表名重命名为' session'到了#se; mysession'以这种方式更改配置设置:

SubApplication::draw()

并更新代码中每次出现的表名(如查询中)。 这样碰撞应该消失,一切都应该正常。 我希望它有所帮助。