我按照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。
答案 0 :(得分:1)
可能问题在于,在这2台服务器中,您会略有不同,其中包括桌面会议'已经可以在Ubuntu服务器上使用,并且可能完全不同的原因处理你需要的东西,而在你的MAC环境中没有' session'表
我能想到的解决名称冲突的简单明了的方法是将表名重命名为' session'到了#se; mysession'以这种方式更改配置设置:
SubApplication::draw()
并更新代码中每次出现的表名(如查询中)。 这样碰撞应该消失,一切都应该正常。 我希望它有所帮助。