这曾经起作用,但经过其他程序员的一些修改后,它就无法工作了。我的Bootstrap上有这个代码:
protected function _initDatabase ()
{
$resource = $this->getPluginResource('multidb');
$resource->init();
Zend_Registry::set('gtap', $resource->getDb('gtap'));
Zend_Registry::set('phpbb', $resource->getDb('phpbb'));
}
加载后,会出现此错误:
致命错误:在非对象中调用成员函数init() 第105行的/var/www/gamebowl3/application/Bootstrap.php
我的php.ini在tis include_path上有这个条目:
.:/usr/share/php:/etc/apache2/libraries
我可以看到multidb.php位于:
/etc/apache2/librarties/Zend/Application/Resource
有人可以告诉我导致错误的原因吗?谢谢!
答案 0 :(得分:1)
我刚发现问题出在application.ini中。在通常的配置集中添加了新引入的设置。这是:
;Gtap Database
resources.multidb.gtap.adapter = "PDO_MYSQL"
resources.multidb.gtap.host = "localhost"
resources.multidb.gtap.username = "root"
resources.multidb.gtap.password = "letmein1"
resources.multidb.gtap.dbname = "gtap"
resources.multidb.gtap.isDefaultTableAdapter = true
resources.multidb.gtap.default = true
;Forum Database
resources.multidb.phpbb.adapter = "PDO_MYSQL"
resources.multidb.phpbb.host = "localhost"
resources.multidb.phpbb.username = "root"
resources.multidb.phpbb.password = "letmein1"
resources.multidb.phpbb.dbname = "phpbb"
resources.multidb.phpbb.isDefaultTableAdapter = false
此外,请确保您拥有最新的Zend Framework Library并将其添加到PHP的包含路径中。这应该可以解决所有问题。