简体   繁体   English

通过我的INI文件进行Zend错误

[英]Zend Error via my INI file

I am getting the following error on my site, however, i don't know what I am to do. 我的网站上出现以下错误,但是,我不知道该怎么办。 I know I am missing something, however, I just can't figure it out. 我知道我缺少什么,但是,我无法弄清楚。

You can see what I am trying to achieve here: 4.6.4. 您可以在此处查看我要实现的目标: 4.6.4。 Zend_Application_Resource_Session Zend_Application_Resource_Session

Fatal error: Uncaught exception 'Zend_Db_Table_Exception' with message 'No adapter found for Zend_Session_SaveHandler_DbTable' in C:\\xampp\\htdocs\\app\\library\\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:\\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\\library\\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 致命错误:C:\\ xampp \\ htdocs \\ app \\ library \\ Zend \\ Db \\ Table \\ Abstract.php:667堆栈跟踪:#0 C:\\ xampp \\,未捕获的异常'Zend_Db_Table_Exception'的消息为'找不到Zend_Session_SaveHandler_DbTable的适配器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 \\ library \\ 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 in C:\\xampp\\htdocs\\app\\library\\Zend\\Db\\Table\\Abstract.php on line 667 667行上C:\\ xampp \\ htdocs \\ app \\ library \\ Zend \\ Db \\ Table \\ Abstract.php中的nd_Application_R

Here is my config.ini file: 这是我的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 = ""

I removed the root password of course, however, that is all I modified for this post. 我当然删除了root密码,但是,这是我为该帖子修改的所有内容。

You need to ensure that the database resource is loaded first. 您需要确保首先加载数据库资源。 The easiest way is to add a new function to application/Bootstrap.php: 最简单的方法是向application / Bootstrap.php添加新功能:

<?php

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

}

Of course, you'd expect this to happen automatically, so I suspect that there's a dependency bug within Zend_Applicaton's session resource... 当然,您希望这会自动发生,因此我怀疑Zend_Applicaton的会话资源中存在依赖项错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM