很郁闷,今天网站挂了3个消失,不爽,求帮助查问题

问题就是运行一段时间后,就出现要创建yiisession表,然后又存在这边,我必须清空sesion表就好了。就是session表结构出错还是什么问题。

CDbCommand failed to execute the SQL statement: SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‘YiiSession’ already exists. The SQL statement executed was:

CREATE TABLE YiiSession

(

id CHAR(32) PRIMARY KEY,

expire INTEGER,

data TEXT

)

错误页面见附图,真心求帮助,网站挂了,真心不舒服,有损失阿,睹的慌。

有人吗?强哥在不在阿,能不能help me

autoCreateSessionTable => false

CDbHttpSession 的配置 试一下上面的 在初次创建后要把这个变量修改下 不然有可能再次创建session表




public function openSession($savePath,$sessionName)

	{

		if($this->autoCreateSessionTable)

		{

			$db=$this->getDbConnection();

			$db->setActive(true);

			try

			{

				$db->createCommand()->delete($this->sessionTableName,'expire<:expire',array(':expire'=>time()));

			}

			catch(Exception $e)

			{

				$this->createSessionTable($db,$this->sessionTableName);

			}

		}

		return true;

	}



应该是上面这段代码的结果

但是为什么会抛出异常 很诡异 有可能是服务器压力过大msyql链接数限制导致 :lol: 只是猜测而已

问题导致的就是mysql表结构出错了,可能yii查询不到这个数据,然后就认为没有这个表,然后就试图创建,,这里应该加一个修复功能的最好,或者首先检测是否存在表,然后修改,修复