我試圖寫一個PHP類,得到我的Linux機器的正常運行時間。它將得到正確的運行時間,但我有一個if
聲明,確定平均負載是否爲「高」與否並設置警告代碼,它似乎並沒有工作(它停留在0) 。PHP類變量設置/獲取問題
我已經包括了所有在這裏的代碼從類(50行左右),因爲我不知道我會採取什麼樣的了,但還是提供了這是怎麼回事錯在這裏的一些信息。
<?php
class loadavg {
private $divisor, $status;
public function __construct($set_divisor = 1){
$this->divisor = $set_divisor;
}
public function __toString(){
return $this->load(1).', '.$this->load(5).', '.$this->load(15)."\n";
}
public function load($time = 1){
$loadfile = shell_exec('cat /proc/loadavg');
$split = preg_split('/ /', $loadfile);
if ($split[1] > (2 * $this->divisor)){
$this->status = 3;
} else if ($split[1] > $this->divisor){
$this->status = 2;
} else {
$this->status = 1;
}
switch($time){
case 1:
return $split[0];
case 5:
return $split[1];
case 15:
return $split[2];
}
}
public function status_name(){
switch ($this->status){
case 3:
return 'critical';
case 2:
return 'warn';
case 1:
return 'ok';
case 0:
return 'error';
}
}
}
?>
發佈的輸出' print_r($ split)' – Pentium10 2010-01-30 20:53:29
你在調用status_name之前調用load嗎? – Pentium10 2010-01-30 20:55:30