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

标签 zend-framework raspberry-pi fatal-error bootstrapping

我试图让现有的 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/

相关文章:

javascript - FirePHP 不返回 ajax 请求查询,但返回正常的页面加载查询

c++ - 从树莓派到Windows平台

time - 如何保持覆盆子计时准确?

php - Ampps 的问题

php - 我不知道如何处理这个 PHP 代码

mysql - 如何在 Zend 语法中进行此 sql 查询

php - 在 Controller 中找不到 fllashMessenger() 说 phpStorm 但正在工作

html - Zend 表单标签中的下标或上标文本

python - 如何使用pygame识别PS4 Controller 上按下的是哪个按钮

调用 time() header() 等嵌套函数时出现 php fatal error