Php Zend 框架 : Connecting to multiple databases one at a time

del 阅读:55 2025-05-04 20:05:19 评论:0

我已经编写了一个通过我的应用程序 ini 的脚本。

我现在遇到的问题是,当我进入下一个数据库时,它仍然从第一个数据库而不是新数据库中进行选择。

是否可以在运行脚本时关闭连接然后打开新连接。请记住,这只是一个脚本,我没有设置 Bootstrap 。我只是设置了一个自动加载,以便我可以加载我的模型。

在遍历 ini 的各个部分时

try { 
        $db = Zend_Db::factory($section->database->type, $section->database->toArray()); 
        Zend_Db_Table::setDefaultAdapter($db); 
        Zend_Registry::set('db', $db); 
    } catch(Zend_Db_Adapter_Exception $e) { 
        continue;    
    } 

请您参考如下方法:

参见 Zend_Application_Resource_Multidb :

application.ini

[production] 
resources.multidb.db1.adapter = "pdo_mysql" 
resources.multidb.db1.host = "localhost" 
resources.multidb.db1.username = "webuser" 
resources.multidb.db1.password = "XXXX" 
resources.multidb.db1.dbname = "db1" 
 
resources.multidb.db2.adapter = "pdo_pgsql" 
resources.multidb.db2.host = "example.com" 
resources.multidb.db2.username = "dba" 
resources.multidb.db2.password = "notthatpublic" 
resources.multidb.db2.dbname = "db2" 
resources.multidb.db2.default = true 

index.php

$resource = $bootstrap->getPluginResource('multidb'); 
$db1 = $resource->getDb('db1'); 
$db2 = $resource->getDb('db2'); 
$defaultDb = $resource->getDb(); 


标签:PHP
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号