Я получаю следующую ошибку на моем сайте, однако, я не знаю, что я должен делать. Я знаю, что чего-то не хватает, однако я просто не могу понять.
Вы можете видеть, чего я пытаюсь достичь здесь: 4.6.4. Zend_Application_Resource_Session
Fatal error: Uncaught exception «Zend_Db_Table_Exception» с сообщением «Не найден адаптер для Zend_Session_SaveHandler_DbTable» в C: \ xampp \ htdocs \ app \ library \ Zend \ Db \ Table \ Abstract.php: 667 Трассировка стека: # 0 C: \ xampp \ htdocs \ app \ library \ Zend \ Db \ Table \ Abstract.php (652): Zend_Db_Table_Abstract -> _ setupDatabaseAdapter () # 1 C: \ xampp \ htdocs \ app \ library \ Zend \ Session \ SaveHandler \ DbTable.php (401) : Zend_Db_Table_Abstract -> _ setup () # 2 C: \ xampp \ htdocs \ app \ library \ Zend \ Db \ Table \ Abstract.php (286): Zend_Session_SaveHandler_DbTable -> _ setup () # 3 C: \ xampp \ htdocs \ verelo \ библиотека \ Zend \ Session \ SaveHandler \ DbTable.php (205): Zend_Db_Table_Abstract -> __ construct (Array) # 4 C: \ xampp \ htdocs \ app \ library \ Zend \ 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): Ze nd_Application_R в C: \ xampp \ htdocs \ app \ library \ Zend \ Db \ Table \ Abstract.php в строке 667
Вот мой файл 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, но это все, что я изменил для этого сообщения.
Прежде всего необходимо обеспечить загрузку ресурса базы данных. Самый простой способ – добавить новую функцию в приложение / Bootstrap.php:
<?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { public function _initSessionAfterDb() { $this->bootstrap('db'); $this->bootstrap('session'); } }
Конечно, вы ожидаете, что это произойдет автоматически, поэтому я подозреваю, что в ресурсе сеанса Zend_Applicaton существует ошибка зависимости …