您好,登錄后才能下訂單哦!
原創作品,轉載請指明出處: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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。