Php 通过我的INI文件出现Zend错误

Php 通过我的INI文件出现Zend错误,php,zend-framework,Php,Zend Framework,我在我的网站上遇到以下错误,但是,我不知道该怎么办。我知道我错过了一些东西,但我就是想不出来 你可以在这里看到我想要实现的目标: 致命错误:在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()中出现未捕获的

我在我的网站上遇到以下错误,但是,我不知道该怎么办。我知道我错过了一些东西,但我就是想不出来

你可以在这里看到我想要实现的目标:

致命错误:在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()中出现未捕获的异常“Zend\u Db\u Table\u exception”,消息“未找到Zend\u会话的适配器”#1 C:\xampp\htdocs\app\library\Zend\Session\SaveHandler\DbTable.php(401):Zend\u Db\u Table\u Abstract->u setup()#2 C:\xampp\htdocs\app\library\Zend\Db\Table\Abstract.php(286):Zend\u Session\u SaveHandler\u DbTable->u setup()#3 C:\xampp\htdocs\verelo\library\Zend\Session\SaveHandler\DbTable\zer.php(205):Zend\Db\Table\u Abstract数组(构造)4 C:\xampp\htdocs\app\library\Zend\Application\Resource\Session.php(59):Zend\u Session\u SaveHandler\u DbTable->\uuuu构造(数组)#5 C:\xampp\htdocs\app\library\Zend\Application\Resource\resourceaxtract.php(93):Zend\u Application\u资源会话->setSaveHandler(数组)#6 C:\xampp\htdocs\app\app\library\library\Zend\Application\Resource\Resource\resourceactabstract\Resource.php第667行C:\xampp\htdocs\app\library\Zend\Db\Table\Abstract.php中的:Zend\u Application\R

这是我的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 = ""

当然,我删除了根密码,但是,这就是我为这篇文章修改的全部内容。

您需要确保首先加载数据库资源。最简单的方法是向application/Bootstrap.php添加一个新函数:

<?php

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

}

您需要确保首先加载数据库资源。最简单的方法是向application/Bootstrap.php添加一个新函数:

<?php

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

}

看起来db资源在会话之前没有初始化,或者它没有注册为默认表适配器-我还没有弄清楚为什么我的resources中设置了resources.db.isDefaultTableAdapter=true。我只是不明白为什么我会收到此消息。看起来db资源在会话之前没有初始化,或者它没有注册为默认的表适配器-我还没有弄清楚为什么我在我的resourcem中设置了resources.db.isDefaultTableAdapter=true,我只是不明白为什么会收到此消息。