PHP PDO Postgres数据库启动/停止问题

PHP PDO Postgres数据库启动/停止问题,php,postgresql,yii,pdo,Php,Postgresql,Yii,Pdo,我正在PDPPDO的支持库中使用Yii和postgres数据库 我在PDO图书馆面对conenct Postgres数据库的问题 我使用一些后台流程来工作,所以最终它将是全天候的任务。现在,根据用例,我的Postgres可能会以某种方式关闭/崩溃。那一次,pg_prepare()函数返回我FALSE。。那是tottaly Corrent 现在,几分钟后,如果博士后开始。所以最终pg_prepare()应该给我资源Id。但它仍然给我假 我相信,由于重新启动postgres服务器,它不允许我再次使用

我正在PDPPDO的支持库中使用Yii和postgres数据库

我在PDO图书馆面对conenct Postgres数据库的问题

我使用一些后台流程来工作,所以最终它将是全天候的任务。现在,根据用例,我的Postgres可能会以某种方式关闭/崩溃。那一次,pg_prepare()函数返回我FALSE。。那是tottaly Corrent

现在,几分钟后,如果博士后开始。所以最终pg_prepare()应该给我资源Id。但它仍然给我假

我相信,由于重新启动postgres服务器,它不允许我再次使用相同的资源。在这种情况下,我需要无限循环,威利不断ping Postgres的新连接

如果需要再次打开连接,我想下面的内容会有所帮助

    // THOUGH IT'S CHECKING FOR $this->_pdo 
    // I need to make it NULL before process...
    Yii:app()->db->open();
现在,这是正确的流程吗?或者你们还有别的想法吗


谢谢…

在做了大量研究后,发现没有任何解决方案可以自动通知Yii连接已重新启动。所以为了保持这一点,我在内部保留了一个标志来检查连接

在Yii中,要重新连接任何数据库,需要使用删除以前的连接

    Yii::app()->db->setActive(false);
它将删除您以前的所有连接和源,并允许您使用

    Yii::app()->db->setActive(true);
如果仍然无法找到连接,那么我们可以将后台工作延迟几分钟。好处是,您不需要重新启动后台工作人员

问候