php 检测什么服务器,php检测服务器系统信息[可以查CPU]

function sys_linux() {

// CPU

if (false === ($str = @file("/proc/cpuinfo"))) return false;

$str = implode("", $str);

@preg_match_all("/models names{0,}: s{0,}([ws)(@.] )([rn] )/s", $str, $model);

@preg_match_all("/caches sizes{0,}: s{0,}([d.] s{0,}[A-Z] [rn] )/", $str, $cache);

if (false !== is_array($model[1])) {

$res['cpu']['num'] = sizeof($model[1]);

for($i = 0; $i < $res['cpu']['num']; $i ) {

$res['cpu']['model'][] = $model[1][$i];

$res['cpu']['cache'][] = $cache[1][$i];

}

if (false !== is_array($res['cpu']['model'])) $res['cpu']['model'] = implode("
", $res['cpu']['model']);

if (false !== is_array($res['cpu']['cache'])) $res['cpu']['cache'] = implode("
", $res['cpu']['cache']);

}

// UPTIME

if (false === ($str = @file("/proc/uptime"))) return false;

$str = explode(" ", implode("", $str));

$str = trim($str[0]);

$min = $str / 60;

$hours = $min / 60;

$days = floor($hours / 24);

$hours = floor($hours - ($days * 24));

$min = floor($min - ($days * 60 * 24) - ($hours * 60));

if ($days !== 0) $res['uptime'] = $days."天";

if ($hours !== 0) $res['uptime'] .= $hours."小时";

$res['uptime'] .= $min."分钟";

// MEMORY

if (false === ($str = @file("/proc/meminfo"))) return false;

$str = implode("", $str);

preg_match_all("/MemTotals{0,}: s{0,}([d.] ). ?MemFrees{0,}: s{0,}([d.] ). ?SwapTotals{0,}: s{0,}([d.] ). ?SwapFrees{0,}: s{0,}([d.] )/s", $str, $buf);

$res['memTotal'] = round($buf[1][0]/1024, 2);

$res['memFree'] = round($buf[2][0]/1024, 2);

$res['memUsed'] = ($res['memTotal']-$res['memFree']);

$res['memPercent'] = (floatval($res['memTotal'])!=0)?round($res['memUsed']/$res['memTotal']*100,2):0;

$res['swapTotal'] = round($buf[3][0]/1024, 2);

$res['swapFree'] = round($buf[4][0]/1024, 2);

$res['swapUsed'] = ($res['swapTotal']-$res['swapFree']);

$res['swapPercent'] = (floatval($res['swapTotal'])!=0)?round($res['swapUsed']/$res['swapTotal']*100,2):0;

// LOAD AVG

if (false === ($str = @file("/proc/loadavg"))) return false;

$str = explode(" ", implode("", $str));

$str = array_chunk($str, 4);

$res['loadAvg'] = implode(" ", $str[0]);

return $res;}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值