如何在Yii1中重新连接到默认数据库



config/main.php中有一个带有参数等的"db"组件,因此在我的应用程序中,它被访问为Yii::app((->数据库。到目前为止,这是相当标准的。现在,问题是如何在Yii1中重新初始化它?

问题是,我正在编写一个CRON脚本,在该脚本中,我使用ftp在另一台服务器上传输文件。在某种程度上,这需要很多时间。之后,脚本尝试执行一些数据库操作,但得到一个错误,即数据库连接已断开。由于这->db属性是只读的,我不能只打开一个新的然后重新分配它。

错误:异常"CDbException",消息为"CDbCommand",无法执行SQL语句:SQLSTATE[HY000]:常规错误:2006 MySQL服务器已关闭。

到目前为止,我的解决方法是当我需要做一些sql时,我只需要使用创建一个新的连接。但是应该有一个合适的方法,对吧?

同样,问题是,如何使用配置文件中指定的参数重新打开默认的数据库连接?

因为我需要在紧急情况下做这件事。请帮帮我。

在Yii1中使用这几行代码。Yii::app((->db->setActive(false(;Yii::app((->db->setActive(true(;它起作用了。

最新更新