2009-07-08 63 views
1

我在我的網站上收到以下錯誤,但是,我不知道我要做什麼。我知道我錯過了一些東西,但是,我無法弄清楚。Zend錯誤通過我的INI文件

你可以看到什麼,我想在這裏實現:4.6.4. Zend_Application_Resource_Session

致命錯誤:未捕獲的異常「Zend_Db_Table_Exception」有消息C「未發現Zend_Session_SaveHandler_DbTable適配器」:\ XAMPP \ htdocs中\程序\圖書館\的Zend \ Db \ Table \ Abstract.php:667 Stack trace:#0 C:\ xampp \ htdocs \ app \ library \ Zend \ Db \ Table \ Abstract.php(652):Zend_Db_Table_Abstract - > _ setupDatabaseAdapter()#1 C:\ ():Zend_Db_Table_Abstract - > _ setup()#2 C:\ xampp \ htdocs \ app \ library \ Zend \ Db \ Table \ Abstract.php( ():Zend_Session_SaveHandler_DbTable - > _ setup()#3 C:\ xampp \ htdocs():Zend_Db_Table_Abstract - > __ construct(Array)#4 C:\ xampp \ htdocs \程序\庫\禪d:\ Application \ Resource \ Session.php(59):Zend_Session_SaveHandler_DbTable - > __ construct(Array)#5 C:\ xampp \ htdocs \ app \ library \ Zend \ Application \ Resource \ ResourceAbstract.php(93):Zend_Application_Resource_Session-> setSaveHandler (Array)#6 C:\ xampp \ htdocs \ app \ library \ Zend \ Application \ Resource \ ResourceAbstract.php(72):Zend_Application_R in C:\ xampp \ htdocs \ app \ library \ Zend \ Db \ Table \ Abstract。上線667

PHP這是我的config.ini文件:

[production] 
phpSettings.display_startup_errors = 0 
phpSettings.display_errors = 0 
includePaths.library = APPLICATION_PATH "/../library" 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 

resources.db.adapter = "pdo_mysql" 
resources.db.params.host = "localhost" 
resources.db.params.username = "root" 
resources.db.params.password = "" 
resources.db.params.dbname = "app" 
resources.db.isDefaultTableAdapter = true 

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
;resources.frontController.moduleControllerDirectoryName = "actions" 
;resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
;resources.frontController.defaultControllerName = "site" 
;resources.frontController.defaultAction = "home" 
;resources.frontController.defaultModule = "static" 
;resources.frontController.baseUrl = "/subdir" 
;resources.frontController.plugins.foo = "My_Plugin_Foo" 
;resources.frontController.plugins.bar = "My_Plugin_Bar" 
resources.frontController.env = APPLICATION_ENV 

resources.layout.layout = "layout" 
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts" 

resources.view[] = 
resources.view.encoding = "UTF-8" 
resources.view.basePath = APPLICATION_PATH "/views/scripts" 

resources.session.save_path = APPLICATION_PATH "/../data/session" 
resources.session.use_only_cookies = true 
resources.session.remember_me_seconds = 864000 
resources.session.saveHandler.class = "Zend_Session_SaveHandler_DbTable" 
resources.session.saveHandler.options.name = "session" 
resources.session.saveHandler.options.primary.session_id = "session_id" 
resources.session.saveHandler.options.primary.save_path = "save_path" 
resources.session.saveHandler.options.primary.name = "name" 
resources.session.saveHandler.options.primaryAssignment.sessionId = "sessionId" 
resources.session.saveHandler.options.primaryAssignment.sessionSavePath = "sessionSavePath" 
resources.session.saveHandler.options.primaryAssignment.sessionName = "sessionName" 
resources.session.saveHandler.options.modifiedColumn = "modified" 
resources.session.saveHandler.options.dataColumn = "session_data" 
resources.session.saveHandler.options.lifetimeColumn = "lifetime" 

[development : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 

resources.db.params.username = "root" 
resources.db.params.password = "" 

我刪除課程的root密碼,然而,這是所有我修改了這個職位。

+0

它看起來像db資源沒有初始化會話之前,或者它沒有註冊爲默認表適配器 - 我還沒有解決爲什麼 – 2009-07-08 21:59:31

回答

7

您需要確保首先加載數據庫資源。最簡單的方法是將新的功能添加到應用程序/ bootstrap.php中:

<?php 

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap 
{ 
    public function _initSessionAfterDb() 
    { 
     $this->bootstrap('db'); 
     $this->bootstrap('session'); 
    } 

} 

當然,你期望這個自動發生,所以我懷疑是有Zend_Applicaton的會議資源內的相關性錯誤......