gpt4 book ai didi

zend-framework - Raspberry Pi 上的 Zend Framework 抛出 Zend_Config_Exception 'Section ' ' 无法在 (...) 中找到'

转载 作者:行者123 更新时间:2023-12-02 15:50:03 25 4
gpt4 key购买 nike

我试图让现有的 ZEND 项目在我的 Raspberry Pi 上运行,但不幸的是,它抛出了这个错误:

Fatal error:  Uncaught exception 'Zend_Config_Exception' with message 'Section '' cannot be found in /var/www/BY_test/application/configs/session.ini' in /var/www/BY_test/library/Zend/Config/Ini.php:151 
Stack trace:
#0 /var/www/BY_test/application/Bootstrap.php(41): Zend_Config_Ini->__construct('/var/www/BY_tes...', false)
#1 /var/www/BY_test/library/Zend/Application/Bootstrap/BootstrapAbstract.php(669): Bootstrap->_initSession()
#2 /var/www/BY_test/library/Zend/Application/Bootstrap/BootstrapAbstract.php(622): Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('session')
#3 /var/www/BY_test/library/Zend/Application/Bootstrap/BootstrapAbstract.php(586): Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap(NULL)
#4 /var/www/BY_test/library/Zend/Application.php(355): Zend_Application_Bootstrap_BootstrapAbstract->bootstrap(NULL)
#5 /var/www/BY_test/public/index.php(44): Zend_Application->bootstrap()
#6 {main}
thrown in /var/www/BY_test/library/Zend/Config/Ini.php on line 151

由于我是 Zend Framework 的新手,因此我非常感谢更有经验的人的帮助。

我已经尝试自己寻找解决方案,但我从具有类似问题的人那里找到的唯一帖子是通过删除 Bootstrap.php 中 APPLICATION_ENV 的 getenv() 函数来解决的。这对他有好处,但对我来说却没有好处。

我觉得很奇怪,消息中缺少实际部分。我想,这是一个重要的线索,所以我稍微涉猎了错误消息中提到的一些文件,但就像我说的,我才刚刚开始使用 Zend,所以这有点毫无意义。

此外,我认为这是它运行的操作系统的问题,因为该项目最初运行在 Windows 服务器上,而我在 Pi 上使用 Raspbian。但我可以(至少部分地)排除这一点。

有什么想法吗?接下来我可以检查什么或者问题可能是什么?

仅供引用,该项目的 Zend Framework 版本是 1.12,我使用 Apache/2.2.22 (Debian)。如果您需要任何进一步的信息,请告诉我。我只是不想用不必要的信息淹没你,因为我不知道你需要知道什么。

提前致谢!

编辑:

Pi上的PHP版本是5.4.4-14+deb7u7(原Windows服务器上的版本是5.4.16)

session.ini 的内容:

;#####################################
; setup sessions
;#####################################

[production]
name = FLOID_BACKYARD
save_path = APPLICATION_PATH "/../data/session"
use_only_cookies = true
remember_me_seconds = 864000

[development : production]
save_path = APPLICATION_PATH "/../data/session"
use_only_cookies = true
remember_me_seconds = 864000

以及 Bootstrap.php 的 __initSession 函数(第 41 行读取“$config = ...”):

protected function _initSession()
{
$config = new Zend_Config_Ini(APPLICATION_PATH.'/configs/session.ini', getenv('APPLICATION_ENV'));
Zend_Session::setOptions($config->toArray());
Zend_Session::start();
}

最佳答案

根据评论,解决您问题的快速方法是更改​​此行:

$config = new Zend_Config_Ini(APPLICATION_PATH.'/configs/session.ini', getenv('APPLICATION_ENV'));

至:

$config = new Zend_Config_Ini(APPLICATION_PATH.'/configs/session.ini', APPLICATION_ENV);

无论如何,这可能是应该的。我的猜测是,在您的其他服务器上,环境变量是使用 SetEnv 设置的,但如果您在生产模式下运行它,这并不是真正必要的。

关于zend-framework - Raspberry Pi 上的 Zend Framework 抛出 Zend_Config_Exception 'Section ' ' 无法在 (...) 中找到',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21764181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com