2009-07-08 8 views
1

Je reçois l'erreur suivante sur mon site, cependant, je ne sais pas ce que je dois faire. Je sais qu'il me manque quelque chose, cependant, je ne peux pas le comprendre.Erreur Zend via mon fichier INI

Vous pouvez voir ce que je suis en train de réaliser ici: 4.6.4. Zend_Application_Resource_Session

Erreur fatale: Uncaught exception 'Zend_Db_Table_Exception' message 'Aucun adaptateur trouvé pour Zend_Session_SaveHandler_DbTable' dans C: \ xampp \ htdocs \ app \ bibliothèque \ Zend \ Db \ Table \ Abstract.php: 667 Trace de pile: # 0 C: \ xampp \ htdocs \ app \ bibliothèque \ Zend \ Db \ Table \ Abstract.php (652): Zend_Db_Table_Abstract -> _ setupDatabaseAdapter() # 1 C: \ xampp \ htdocs \ app \ bibliothèque \ Zend \ Session \ SaveHandler \ DbTable.php (401): Zend_Db_Table_Abstract -> _ setup() # 2 C: \ xampp \ htdocs \ app \ bibliothèque \ Zend \ Db \ Table \ Abstract.php (286): Zend_Session_SaveHandler_DbTable -> _ setup() # 3 C: \ xampp \ htdocs \ verelo \ bibliothèque \ Zend \ Session \ SaveHandler \ DbTable.php (205): Zend_Db_Table_Abstract -> __ construct (tableau) # 4 C: \ xampp \ htdocs \ app \ library \ Zen d \ Application \ Resource \ Session.php (59): Zend_Session_SaveHandler_DbTable -> __ construct (Array) # 5 C: \ xampp \ htdocs \ app \ bibliothèque \ Zend \ Application \ Resource \ ResourceAbstract.php (93): Zend_Application_Resource_Session-> setSaveHandler (Array) # 6 C: \ xampp \ htdocs \ app \ bibliothèque \ Zend \ Application \ Ressource \ ResourceAbstract.php (72): Zend_Application_R dans C: \ xampp \ htdocs \ app \ bibliothèque \ Zend \ Db \ Table \ Résumé. php sur la ligne 667

Voici mon fichier 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 = "" 

J'ai supprimé le mot de passe root bien sûr, cependant, que tout ce que je modifié pour ce poste.

+0

Il semble que la ressource db ne soit pas initialisée avant la session, ou qu'elle ne soit pas enregistrée en tant qu'adaptateur de table par défaut - Je n'ai pas encore déterminé pourquoi. –

+0

J'ai le resources.db.isDefaultTableAdapter = true défini dans mon resourcem Je ne comprends pas pourquoi je reçois ce message. – MichaelICE

Répondre

7

Vous devez vous assurer que la ressource de base de données est chargée en premier. La façon la plus simple est d'ajouter une nouvelle fonction à l'application/Bootstrap.php:

<?php 

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

} 

Bien sûr, vous vous attendez que cela se produise automatiquement, donc je soupçonne qu'il ya un bug de dépendance au sein de la ressource session Zend_Applicaton ...

Questions connexes