Icinga Web 安装问题 - 服务器端错误

Icinga Web 安装问题 - 服务器端错误

我已经成功安装并配置冰加 1.3并启动并运行了基本的网络界面,一切正常。

我现在正在尝试让 icinga-web 工作。我已遵循此处记录的说明:

http://docs.icinga.org/latest/en/icinga-web-scratch.html

当我浏览 icinga-web 应用程序时,我可以登录,但得到的是空白页。当我查看源代码时,我可以看到页面的所有 HTML 和标记,以及 Chrome 开发人员工具中的以下错误:

GET http://nagios.node/icinga-web/appkit/squishloader/javascript 500 (Internal Server Error)

经过检查,/usr/local/icinga-web/app/data/log/icinga-web-2011-03-16.log我对该页面的每个请求都看到相同的错误:

[2011 年 3 月 16 日星期三 01:29:08] [严重] 未捕获的 AppKitPHPError:PHP 错误
mkdir() [function.mkdir]: 文件存在
(/usr/local/icinga-web/app/cache/config/compile.xml_development__033d402eaeb08f42e4e3d5f8474e444805e2c7c6.php:1327)
(/usr/local/icinga-web/app/modules/AppKit/lib/logging/AppKitExceptionHandler.class.php:20)`

根据安装文档,我尝试使用以下方法清除缓存:

rm /usr/local/icinga-web/app/cache/config/*.php

然后重新启动 apache,但我似乎无法解决这个问题。

我今天从 git repo 构建了 icinga-web:

git://git.icinga.org/icinga-web.git

我也尝试从 1.3.0 tar ball 进行构建但仍然遇到同样的问题。

以前有人遇到过这个问题吗?

更新:

安装在:

答案1

我对此进行了研究,问题似乎出在 Agavi 组件中,具体来说:

lib/agavi/src/filter/AgaviExecutionFilter.class.php

并在writeCache()方法中:

@mkdir(AgaviConfig::get('core.cache_dir') . DIRECTORY_SEPARATOR . 
        self::CACHE_SUBDIR .
        DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR , 
        array_slice($groups, 0, -1)), 0777, true);

我在这段代码中放入了一个记录器行,并看到 mkdir 正在尝试递归创建一个目录,例如:

/usr/local/icinga-www/app/cache/content/amF2YXNjcmlwdF9jb250ZW50/QXBwS2l0X1dpZGdldHMvU3F1aXNoTG9hZGVy

我删除了它,重新启动了 apache,但问题仍然存在。

此时服务器运行的是 PHP 5.2.17。

我将 PHP 升级到 5.3.5,这个问题神奇地解决了。

出于兴趣,我将 PHP 恢复到 5.2.17,看看mkdir()该版本中的函数行为与 5.3.5 中的函数行为是否有任何差异。测试脚本显示,PHP 所做的只是警告该文件夹在两个版本中都存在,没有抛出任何硬错误。

此外,奇怪的是,icinga-web 开始与 PHP 5.2.17 配合使用....我不知道为什么。我检查了两个版本的 php.ini 文件,认为 error_reporting 设置可能已更改,但它们是相同的(除了 PHP 5.3.5 设置为 而E_ALL & ~E_NOTICE | E_DEPRECATED5.2.17 设置为E_ALL & ~E_NOTICE)。

希望这对遇到同样问题的人有用。

答案2

我也遇到过同样的问题。我花了很长时间才找到解决方案。“AppKitPHPError”非常容易让人误解;真正的原因要简单得多,也容易解决。

它只是缺少凭证。编辑以下两个配置并填写正确的 DB-logon

  • /whereveryouricingarootis/icinga-web/app/modules/Web/config/icinga-io.xml
  • /whereveryouricingarootis/icinga-web/app/modules/Web/config/icinga-io.site.xml

完成后,错误就会消失

玩得开心 !!

随机数

相关内容