我的 zend 应用程序使用多个数据库连接,因此我使用该multidb
资源在application.ini
文件中配置了多个连接。
现在我想使用 将应用程序会话存储到数据库中Zend_Session_SaveHandler_DbTable
,但我找不到一种方法来指定要使用哪些连接来访问数据库。
我在网上找到的每个示例都使用该db
资源并依赖于默认数据库适配器。不幸的是,会话必须存储在一个不是默认数据库的数据库中......
如何指定用于存储会话的数据库?
我的 zend 应用程序使用多个数据库连接,因此我使用该multidb
资源在application.ini
文件中配置了多个连接。
现在我想使用 将应用程序会话存储到数据库中Zend_Session_SaveHandler_DbTable
,但我找不到一种方法来指定要使用哪些连接来访问数据库。
我在网上找到的每个示例都使用该db
资源并依赖于默认数据库适配器。不幸的是,会话必须存储在一个不是默认数据库的数据库中......
如何指定用于存储会话的数据库?
尽管 Zend 文档中没有指定,但Zend_Session_SaveHandler_DbTable
该类的构造函数接受一个名为的参数,该参数db
指定要使用的数据库连接。
$db = $this->getPluginResource('multidb')->getDb('zend');
$config = array(
'db' => $db,
'name' => 'session',
'primary' => 'id',
'modifiedColumn' => 'modified',
'dataColumn' => 'data',
'lifetimeColumn' => 'lifetime'
);
Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config));
Zend_Session::start();
我无法在application.ini
配置文件中指定这些设置,但......