原创作品,转载请指明出处:http://weiskarray.blog.51cto.com/6851740/1401487。
本人在配置Centreon的时候碰到了各种问题,也上网搜了很多解决方案,有些错误在网上获得很大的帮助并解决了。但是有些并没有解决。就如题目中所提到的这个问题,在网上并没有找到正确的解决方案,最终是跑去读源代码找出问题所在的并解决。所以把解决方案记录下来,希望对大家有帮助。
错误提示第一种情况:
首先大家先看提示界面
WritableCentreonConfigurationFile(centreon.conf.php)Critical:NotWriteable
/etc/centreon/ asterisk:asterisk (755)Should be nagios:nagios(755)
GenerateCentreon configuration file OK
/etc/centreon/centreon.conf.php asterisk:asterisk (755)Should be nagios:nagios(755)
GenerateCentstorage configuration file OK
/etc/centreon//conf.pm asterisk:asterisk (755) Should be nagios:nagios (755)
如果是上面这种情况,只需按照给出的提示修改即可。即把”/etc/centreon/”目录及目录下文件的权限改为755,所有者与用户组改为nagios:nagios,如下
chmod–R 755 /etc/centreon
chown–R nagios.nagios /etc/centreon
(注:不同的安装设置可能会要求修改成不同的用户名与用户组,只需根据提示进行即可)
注意一下,就是权限修改的时候一定要修改成755(修改成其他或777都不行),下面是第10步设置的源文件代码:
if((strcmp($perms,'755') == 0 ) && (!strcmp($_SESSION['apache_user'],$uid['name'])) && (!strcmp($_SESSION['apache_group'], $gid['name'])) ){
echo '<b><spanclass="go">OK</font></b>';
$msg = '';
}else {
echo '<b><spanclass="stop">Critical: Not Writeable</font></b>';
$msg = $uid['name'] .':'.$gid['name'].' ('.$perms. ')</b>';
$msg .= '<br />Should be '.$_SESSION['apache_user'].':'.$_SESSION['apache_user'].' (755)';
$return_false = 1;
}
所以一定要修改成755!(我安装的版本是2.2.2的,其他更新的版本是不是这样大家可以自己看一下)
经过所提示的进行修改,这种情况下的错误基本上就能解决了。
第二种情况:
WritableCentreonConfigurationFile(centreon.conf.php)Critical:NotWriteable
/etc/centreon/ asterisk:asterisk (755)Should be :(755)
GenerateCentreon configuration file OK
/etc/centreon/centreon.conf.php asterisk:asterisk (755)Should be :(755)
GenerateCentstorage configuration file OK
/etc/centreon//conf.pm asterisk:asterisk (755) Should be: (755)
这种情况就行提示中的“Should be :(755)”没有了用户名与用户组!!
通过上面的源文件代码大家已经看到进行用户名、用户组的条件判断与输出提示都是经过SESSION来完成的,而这没有输出任何东西,所以问题就出在这——说明PHP的SESSION不可用!
大家可以进行一下简单的测试,看看所安装PHP的SESSION功能是不是可用的。
下面就用两个实例来说明吧:
文件1 test1.php
<?php
session_start();
$_SESSION['name']="Havi";
echo"<ahref=\"test2.php\">".$_SESSION['name']."</a>";
?>
文件2: test2.php
<?php
session_start();
echo"This is ".$_SESSION['name'];
?>
经过上面的测试如果在test2.php中没有显示出“Havi”, 则说明确实是SESSION不可用的话,就说明大家遇到的问题确实是跟我的一样了。
在这里按照了下面的进行SESSION不可用问题:
第一个可能原因:
查看/etc/php.ini文件中session.use_trans_sid参数是否被设为了零。所以一个办法是在配置文件php.ini里把 session.use_trans_sid的值改成1。
第二个可能原因:
是对服务器保存session的文件夹没有读取的权限,可以在php.ini文件(Linux系统下)中查看session保存的地址:
session.save_path: var/tmp
所以就是检查下var/tmp文件夹是否可写。
写一个文件:test3.php来测试一下:
<?
echovar_dump(is_writeable(ini_get("session.save_path")));
?>
如果返回bool(false),证明文件夹写权限被限制了。
所以,可以把var/tmp权限进行修改,也可以指定新的路径,直到test3.php返回true。在此就不细说了。
把PHP的SESSION问题解决了,大家重新进行配置,到第10步的时候就不会出现错误提示啦!
希望对大家有帮助!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。