2011-10-28 46 views
2

這用於工作,但經過其他程序員的一些修改後,它只是無法工作。我對我的引導驗證碼:Zend Framework:Multidb無法初始化

protected function _initDatabase() 
{ 
    $resource = $this->getPluginResource('multidb'); 
    $resource->init(); 

    Zend_Registry::set('gtap', $resource->getDb('gtap')); 
    Zend_Registry::set('phpbb', $resource->getDb('phpbb')); 
} 

一旦加載,這個錯誤顯示出來:

Fatal error: Call to a member function init() on a non-object in /var/www/gamebowl3/application/Bootstrap.php on line 105

我的php.ini對TIS的include_path此項:

.:/usr/share/php:/etc/apache2/libraries 

和我可以看到multidb.php位於:

/etc/apache2/librarties/Zend/Application/Resource 

有人可以告訴我是什麼原因導致了錯誤?謝謝!

+0

99%$資源爲空,因爲可能該方法不符合您的預期或其他任何工作...需要更多的代碼。 –

+0

@JourourEstrella我正在爲您投票。這是我能爲你做的最多的事情:-) –

回答

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框架庫,並將其添加到PHP的包含路徑。這應該解決一切。

相關問題