ホームページ > バックエンド開発 > PHPチュートリアル > php FreeBSD システム検出プログラム_PHP チュートリアル

php FreeBSD システム検出プログラム_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:58:17
オリジナル
1024 人が閲覧しました

関数 sys_freebsd() {
 //CPU
 if (false === ($res['cpu']['num'] = get_key("hw.ncpu"))) return false;
 $res['cpu']['model'] = get_key("hw.model");

//平均ロード
 if (false === ($res['loadAvg'] = get_key("vm.loadavg"))) return false;

//稼働時間
 if (false === ($buf = get_key("kern.boottime"))) return false;
 $buf =explode(' ', $buf);
 $sys_ticks = time() - intval($buf[3]);
 $min = $sys_ticks / 60;
 $時間 = $分 / 60;
 $days = フロア($hours / 24);
 $hours = フロア($hours - ($days * 24));
 $min = フロア($min - ($days * 60 * 24) - ($hours * 60));
 if ($days !== 0) $res['uptime'] = $days."天";
 if ($hours !== 0) $res['uptime'] .= $hours."小時間";
 $res['uptime'] .= $min."分钟";

//メモリー
 if (false === ($buf = get_key("hw.physmem"))) return false;
 $res['memTotal'] =round($buf/1024/1024, 2);
 $buf =explode("n", do_command("vmstat", ""));
 $buf =explode(" ", トリム($buf[2]));

$res['memFree'] =round($buf[5]/1024, 2);
 $res['memused'] = ($res['memTotal']-$res['memFree']);
 $res['memPercent'] = (floatval($res['memTotal'])!=0)?round($res['memused']/$res['memTotal']*100,2):0;

$buf =explode("n", do_command("swapinfo", "-k"));
 $buf = $buf[1];
 preg_match_all("/([0-9]+)s+([0-9]+)s+([0-9]+)/", $buf, $bufArr);
 $res['swapTotal'] =round($bufArr[1][0]/1024, 2);
 $res['swapused'] =round($bufArr[2][0]/1024, 2);
 $res['swapFree'] =round($bufArr[3][0]/1024, 2);
 $res['swapPercent'] = (floatval($res['swapTotal'])!=0)?round($res['swapused']/$res['swapTotal']*100,2):0;

$res を返す;
}

//パラメータ取得 FreeBSD
関数 get_key($keyName) {
 return do_command('sysctl', "-n $keyName");
}

//実行ファイルの場所を決定する FreeBSD
関数 find_command($commandName) {
 $path = array('/bin', '/sbin', '/usr/bin', '/usr/sbin', '/usr/local/bin', '/usr/local/sbin');
 foreach($path as $p) {
  if (@is_executable("$p/$commandName")) return "$p/$commandName";
 }
 false を返します;
}

//実行システムコマンド FreeBSD
function do_command($commandName, $args) {
 $buffer = "";
 if (false === ($command = find_command($commandName))) return false;
 if ($fp = @popen("$command $args", 'r')) {
  その間 (!@feof($fp)){
   $buffer .= @fgets($fp, 4096);
  }
  トリムを返す($buffer);
 }
 false を返します;
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632008.html技術記事 function sys_freebsd() { //CPU if (false === ($res['cpu']['num'] = get_key(hw.ncpu))) return false; $res['cpu']['model'] = get_key(hw.model); //LOAD AVG if (false === ($res['loadAv...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート