php 检测硬盘,PHP服务器信息探针可以检测网络流量,CPU,硬盘,内存使用情况,网站管理员必备...

news/2024/5/13 22:39:01/文章来源:https://blog.csdn.net/weixin_39929138/article/details/115776176

aa0f72da0a0cc1ddc7e1359dadbdf6e9.png

php 代码<?php

error_reporting(0);//抑制所有错误信息

@header("content-Type: text/html; charset=utf-8");//语言强制

ob_start();

date_default_timezone_set('Asia/Shanghai');//此句用于消除时间差

$time_start= microtime_float();

/**

*

*/

class ServerInfo{

//服务器参数

public $S = array(

'YourIP',//你的IP

'DomainIP',//服务器域名和IP及进程用户名

'Flag',//服务器标识

'OS',//服务器操作系统具体

'Language',//服务器语言

'Name',//服务器主机名

'Email',//服务器管理员邮箱

'WebEngine',//服务器WEB服务引擎

'WebPort',//web服务端口

'WebPath',//web路径

'ProbePath',//本脚本所在路径

'sTime'//服务器时间

);

public $sysInfo; //系统信息,windows和linux

public $CPU_Use;

public $hd = array(

't',//硬盘总量

'f',//可用

'u',//已用

'PCT',//使用率

);

public $NetWork = array(

'NetWorkName',//网卡名称

'NetOut',//出网总量

'NetInput',//入网总量

'OutSpeed',//出网速度

'InputSpeed'//入网速度

);//网卡流量

function __construct(){

$this->S['YourIP'] = @$_SERVER['REMOTE_ADDR'];

$domain= $this->OS()?$_SERVER['SERVER_ADDR']:@gethostbyname($_SERVER['SERVER_NAME']);

$this->S['DomainIP'] = @get_current_user().' - '.$_SERVER['SERVER_NAME'].'('.$domain.')';

$this->S['Flag'] =empty($this->sysInfo['win_n'])?@php_uname():$this->sysInfo['win_n'];

$os= explode(" ", php_uname());

$oskernel= $this->OS()?$os[2]:$os[1];

$this->S['OS'] =$os[0].'内核版本:'.$oskernel;

$this->S['Language'] =getenv("HTTP_ACCEPT_LANGUAGE");

$this->S['Name'] =$this->OS()?$os[1]:$os[2];

$this->S['Email'] =$_SERVER['SERVER_ADMIN'];

$this->S['WebEngine'] =$_SERVER['SERVER_SOFTWARE'];

$this->S['WebPort'] =$_SERVER['SERVER_PORT'];

$this->S['WebPath'] =$_SERVER['DOCUMENT_ROOT']?str_replace('\\','/',$_SERVER['DOCUMENT_ROOT']):str_replace('\\','/',dirname(__FILE__));

$this->S['ProbePath'] =str_replace('\\','/',__FILE__)?str_replace('\\','/',__FILE__):$_SERVER['SCRIPT_FILENAME'];

$this->S['sTime'] =date('Y-m-d H:i:s');

$this->sysInfo =$this->GetsysInfo();

//var_dump($this->sysInfo);

$CPU1= $this->GetCPUUse();

sleep(1);

$CPU2= $this->GetCPUUse();

$data= $this->GetCPUPercent($CPU1,$CPU2);

$this->CPU_Use =$data['cpu0']['user']."%us,  ".$data['cpu0']['sys']."%sy,  ".$data['cpu0']['nice']."%ni, ".$data['cpu0']['idle']."%id,  ".$data['cpu0']['iowait']."%wa,  ".$data['cpu0']['irq']."%irq,  ".$data['cpu0']['softirq']."%softirq";

if(!$this->OS())$this->CPU_Use ='目前只支持Linux系统';

$this->hd =$this->GetDisk();

$this->NetWork =$this->GetNetWork();

}

public function OS(){

return DIRECTORY_SEPARATOR=='/'?true:false;

}

public function GetsysInfo(){

switch(PHP_OS) {

case'Linux':

$sysInfo= $this->sys_linux();

break;

case'FreeBSD':

$sysInfo= $this->sys_freebsd();

break;

default:

# code...

break;

}

return $sysInfo;

}

public function sys_linux(){ //linux系统探测

$str= @file("/proc/cpuinfo");//获取CPU信息

if(!$str)return false;

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

@preg_match_all("/model\s+name\s{0,}\:+\s{0,}([\w\s\)\(\@.-]+)([\r\n]+)/s",$str, $model);//CPU 名称

@preg_match_all("/cpu\s+MHz\s{0,}\:+\s{0,}([\d\.]+)[\r\n]+/",$str, $mhz);//CPU频率

@preg_match_all("/cache\s+size\s{0,}\:+\s{0,}([\d\.]+\s{0,}[A-Z]+[\r\n]+)/",$str, $cache);//CPU缓存

@preg_match_all("/bogomips\s{0,}\:+\s{0,}([\d\.]+)[\r\n]+/",$str, $bogomips);//

if(is_array($model[1])){

$cpunum= count($model[1]);

$x1= $cpunum>1?' ×'.$cpunum:'';

$mhz[1][0] =' | 频率:'.$mhz[1][0];

$cache[1][0] =' | 二级缓存:'.$cache[1][0];

$bogomips[1][0] =' | Bogomips:'.$bogomips[1][0];

$res['cpu']['num'] = $cpunum;

$res['cpu']['model'][] = $model[1][0].$mhz[1][0].$cache[1][0].$bogomips[1][0].$x1;

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

if(is_array($res['cpu']['mhz']))$res['cpu']['mhz'] = implode("
", $res['cpu']['mhz']);

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

if(is_array($res['cpu']['bogomips']))$res['cpu']['bogomips'] = implode("
", $res['cpu']['bogomips']);

}

//服务器运行时间

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

if(!$str)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));

$res['uptime'] =$days."天".$hours."小时".$min."分钟";

//内存

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

if(!$str)return false;

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

preg_match_all("/MemTotal\s{0,}\:+\s{0,}([\d\.]+).+?MemFree\s{0,}\:+\s{0,}([\d\.]+).+?Cached\s{0,}\:+\s{0,}([\d\.]+).+?SwapTotal\s{0,}\:+\s{0,}([\d\.]+).+?SwapFree\s{0,}\:+\s{0,}([\d\.]+)/s",$str, $buf);

preg_match_all("/Buffers\s{0,}\:+\s{0,}([\d\.]+)/s",$str, $buffers);

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

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

$resmem['memBuffers'] =round($buffers[1][0]/1024, 2);

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

$resmem['memUsed'] =$resmem['memTotal']-$resmem['memFree'];

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

$resmem['memRealUsed'] =$resmem['memTotal'] -$resmem['memFree'] -$resmem['memCached'] -$resmem['memBuffers'];//真实内存使用

$resmem['memRealFree'] =$resmem['memTotal'] -$resmem['memRealUsed'];//真实空闲

$resmem['memRealPercent'] = (floatval($resmem['memTotal'])!=0)?round($resmem['memRealUsed']/$resmem['memTotal']*100,2):0;//真实内存使用率

$resmem['memCachedPercent'] = (floatval($resmem['memCached'])!=0)?round($resmem['memCached']/$resmem['memTotal']*100,2):0;//Cached内存使用率

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

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

$resmem['swapUsed'] =round($resmem['swapTotal']-$resmem['swapFree'], 2);

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

$resmem= $this->formatmem($resmem);//格式化内存显示单位

$res= array_merge($res,$resmem);

// LOAD AVG 系统负载

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

if(!$str)return false;

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

$str= array_chunk($str, 4);

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

return$res;

}

public function sys_freebsd(){ //freeBSD系统探测

$res['cpu']['num']   = do_command('sysctl','hw.ncpu');//CPU

$res['cpu']['model'] = do_command('sysctl','hw.model');

$res['loadAvg']      = do_command('sysctl','vm.loadavg');//Load AVG  系统负载

//uptime

$buf= do_command('sysctl','kern.boottime');

$buf= explode(' ',$buf);

$sys_ticks= time()-intval($buf[3]);

$min= $sys_ticks/60;

$hours= $min/60;

$days= floor($hours/24);

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

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

$res['uptime'] =$days.'天'.$hours.'小时'.$min.'分钟';

//内存

$buf= do_command('sysctl','hw.physmem');

$resmem['memTotal'] =round($buf/1024/1024, 2);

$str= do_command('sysctl','vm.vmtotal');

preg_match_all("/\nVirtual Memory[\:\s]*\(Total[\:\s]*([\d]+)K[\,\s]*Active[\:\s]*([\d]+)K\)\n/i",$str, $buff, PREG_SET_ORDER);

preg_match_all("/\nReal Memory[\:\s]*\(Total[\:\s]*([\d]+)K[\,\s]*Active[\:\s]*([\d]+)K\)\n/i",$str, $buf, PREG_SET_ORDER);

$resmem['memRealUsed'] =round($buf[0][2]/1024, 2);

$resmem['memCached'] =round($buff[0][2]/1024, 2);

$resmem['memUsed'] =round($buf[0][1]/1024, 2)+$resmem['memCached'];

$resmem['memFree'] =$resmem['memTotal']-$resmem['memUsed'];

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

$resmem['memRealPercent'] = (floatval($resmem['memTotal'])!=0)?round($resmem['memRealUsed']/$resmem['memTotal']*100,2):0;

$resmem= $this->formatmem($resmem);

$res= array_merge($res,$resmem);

return$res;

}

public function do_command($cName,$args){ //执行系统命令FreeBSD

$cName= empty($cName)?'sysctl':timr($cName);

if(empty($args))return false;

$args= '-n '.$args;

$buffers= '';

$command= find_command($cName);

if(!$command)return false;

if($fp= @popen("$command $args",'r')){

while(!@feof($fp)) {

$buffers.= @fgets($fp, 4096);

}

pclose($fp);

return trim($buffers);

}

return false;

}

public function find_command($cName){//确定shell位置

$path= array('/bin','/sbin', '/usr/bin','/usr/sbin', '/usr/local/bin', '/usr/local/sbin');

foreach($pathas as $p) {

if(@is_executable("$p/$commandName"))return "$p/$commandName";

}

return false;

}

public function GetCPUUse(){

$data= @file('/proc/stat');

$cores= array();

foreach($data as $line) {

if(preg_match('/^cpu[0-9]/',$line)){

$info= explode(' ',$line);

$cores[]=array('user'=>$info[1],'nice'=>$info[2],'sys'=> $info[3],'idle'=>$info[4],'iowait'=>$info[5],'irq'=> $info[6],'softirq'=> $info[7]);

}

}

return$cores;

}

public function GetCPUPercent($CPU1,$CPU2){

$num= count($CPU1);

if($num!==count($CPU2)) return '';

$cups= array();

for($i=0;$i 

$dif= array();

$dif['user']    =$CPU2[$i]['user'] -$CPU1[$i]['user'];

$dif['nice']    =$CPU2[$i]['nice'] -$CPU1[$i]['nice'];

$dif['sys']     =$CPU2[$i]['sys'] -$CPU1[$i]['sys'];

$dif['idle']    =$CPU2[$i]['idle'] -$CPU1[$i]['idle'];

$dif['iowait']  =$CPU2[$i]['iowait'] -$CPU1[$i]['iowait'];

$dif['irq']     =$CPU2[$i]['irq'] -$CPU1[$i]['irq'];

$dif['softirq'] =$CPU2[$i]['softirq'] -$CPU1[$i]['softirq'];

$total= array_sum($dif);

$cpu= array();

foreach($difas as $x=>$y)

$cpu[$x] =round($y/$total*100, 2);

$cpus['cpu'.$i] = $cpu;

}

return $cpus;

}

public function GetDisk(){ //获取硬盘情况

$d['t'] =round(@disk_total_space(".")/(1024*1024*1024),3);

$d['f'] =round(@disk_free_space(".")/(1024*1024*1024),3);

$d['u'] =$d['t']-$d['f'];

$d['PCT'] = (floatval($d['t'])!=0)?round($d['u']/$d['t']*100,2):0;

return $d;

}

private function formatmem($mem){//格试化内存显示单位

if(!is_array($mem))return $mem;

$tmp= array(

'memTotal','memUsed', 'memFree', 'memPercent',

'memCached','memRealPercent',

'swapTotal','swapUsed', 'swapFree', 'swapPercent'

);

foreach($mem as $k=>$v) {

if(!strpos($k,'Percent')){

$v= $v<1024?$v.' M':$v.' G';

}

$mem[$k] =$v;

}

foreach($tmp as $v) {

$mem[$v] =$mem[$v]?$mem[$v]:0;

}

return $mem;

}

public function GetNetWork(){ //网卡流量

$strs= @file("/proc/net/dev");

$lines= count($strs);

for($i=2;$i 

preg_match_all("/([^\s]+):[\s]{0,}(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/",$strs[$i],$info );

$res['OutSpeed'][$i] = $info[10][0];

$res['InputSpeed'][$i] = $info[2][0];

$res['NetOut'][$i] = $this->formatsize($info[10][0]);

$res['NetInput'][$i] = $this->formatsize($info[2][0]);

$res['NetWorkName'][$i] = $info[1][0];

}

return $res;

}

public function formatsize($size) {//单位转换

$danwei=array(' B ',' K ',' M ',' G ',' T ');

$allsize=array();

$i=0;

for($i= 0; $i <5; $i++) {

if(floor($size/pow(1024,$i))==0){break;}

}

for($l= $i-1;$l >=0; $l--) {

$allsize1[$l]=floor($size/pow(1024,$l));

$allsize[$l]=$allsize1[$l]-$allsize1[$l+1]*1024;

}

$len=count($allsize);

for($j= $len-1;$j >=0; $j--) {

$fsize=$fsize.$allsize[$j].$danwei[$j];

}

return $fsize;

}

public function phpexts(){ //以编译模块

$able= get_loaded_extensions();

$str= '';

foreach($able as $key => $value) {

if($key!=0 &&$key%13==0) {

$str.= '
';

}

$str.= "$value  ";

}

return $str;

}

public function show($varName){//检测PHP设置参数

switch($result= get_cfg_var($varName)){

case 0:

return '×';

break;

case 1:

return '√';

break;

default:

return$result;

break;

}

}

public function GetDisFuns(){

$disFuns=get_cfg_var("disable_functions");

$str= '';

if(empty($disFuns)){

$str= '×';

}else{

$disFunsarr=  explode(',',$disFuns);

foreach($disFunsarr as $key=>$value) {

if($key!=0 &&$key%8==0) {

$str.= '
';

}

$str.= "$value  ";

}

}

return $str;

}

public function isfun($funName='',$j=0){// 检测函数支持

if(!$funName || trim($funName) =='' || preg_match('~[^a-z0-9\_]+~i',$funName, $tmp)) return'错误';

if(!$j){

return(function_exists($funName) !== false) ?'√' : '×';

}else{

return(function_exists($funName) !== false) ?'√' : '×';

}

}

public function GetGDVer(){

$strgd= '×';

if(function_exists(gd_info)) {

$gd_info= @gd_info();

$strgd= $gd_info["GD Version"];

}

return $strgd;

}

public function GetZendInfo(){

$zendInfo= array();

$zendInfo['ver'] = zend_version()?zend_version():'×';

$phpv= substr(PHP_VERSION,2,1);

$zendInfo['loader'] =$phpv>2?'ZendGuardLoader[启用]':'Zend Optimizer';

if($phpv>2){

$zendInfo['html'] = get_cfg_var("zend_loader.enable")?'√':'×';

}elseif(function_exists('zend_optimizer_version')){

$zendInfo['html'] = zend_optimizer_version();

}else{

$zendInfo['html']= (get_cfg_var("zend_optimizer.optimization_level") ||

get_cfg_var("zend_extension_manager.optimizer_ts") ||

get_cfg_var("zend.ze1_compatibility_mode") ||

get_cfg_var("zend_extension_ts"))?'√':'×';

}

return $zendInfo;

}

public function GetIconcube(){

$str= '×';

if(extension_loaded('ionCube Loader')){

$ys= ionCube_Loader_version();

$gm= '.'.(int)substr($ys, 3, 2);

$str= $ys.$gm;

}

return $str;

}

public function CHKModule($cName){

if(empty($cName))return '错误';

$str= phpversion($cName);

return empty($str)?'×':$str;

}

public function GetDBVer($dbname){

if(empty($dbname))return '错误';

switch($dbname) {

case'mysql':

if(function_exists("mysql_get_server_info")){

$s= @mysql_get_server_info();

$s= $s ? '  mysql_server 版本:'.$s:'';

$c= @mysql_get_client_info();

$c= $c ? '  mysql_client 版本:'.$c:'';

return $s.$c;

}

return'';

break;

case'sqlite':

if(extension_loaded('sqlite3')){

$sqliteVer= SQLite3::version();

$str= '√';

$str.= 'SQLite3 Ver'.$sqliteVer['versionString'];

}else{

$str= $this->isfun('sqlite_close');

if(strpos($str,'√')!==false){

$str.= '  版本:'.sqlite_libversion();

}

}

return$str;

break;

default:

return '';

break;

}

}

}

$title= 'PHP服务器信息探针';

$j_version= '1.0.0';

$S = new ServerInfo();

$phpSelf= $_SERVER['PHP_SELF'] ?$_SERVER['PHP_SELF'] :$_SERVER['SCRIPT_NAME'];

$disFuns=get_cfg_var("disable_functions");

$disFuns= strpos('phpinfo', needle)?'×':"PHPINFO";

$strcookies= isset($_COOKIE)?'√': '×';

$strsmtp= get_cfg_var("SMTP")?'√': '×';

$smtpadd= get_cfg_var("SMTP")?get_cfg_var("SMTP"):'×';

//ajax调用实时刷新

if ($_GET['act'] =="rt"){

$arr=array('useSpace'=>$S->hd['u'],

'freeSpace'=>$S->hd['f'],

'hdPercent'=>$S->hd['PCT'],

'barhdPercent'=>$S->hd['PCT'].'%',

'TotalMemory'=>$S->sysInfo['memTotal'],

'UsedMemory'=>$S->sysInfo['memUsed'],

'FreeMemory'=>$S->sysInfo['memFree'],

'CachedMemory'=>$S->sysInfo['memCached'],

'Buffers'=>$S->sysInfo['memBuffers'],

'TotalSwap'=>$S->sysInfo['swapTotal'],

'swapUsed'=>$S->sysInfo['swapUsed'],

'swapFree'=>$S->sysInfo['swapFree'],

'loadAvg'=>$S->sysInfo['loadAvg'],

'uptime'=>$S->sysInfo['uptime'],

'freetime'=>"$freetime",

'bjtime'=>"$bjtime",

'stime'=>$S->S['sTime'],

'cpuuse'=>$S->CPU_Use,

'memRealPercent'=>$S->sysInfo['memRealPercent'],

'memRealUsed'=>$S->sysInfo['memRealUsed'],

'memRealFree'=>$S->sysInfo['memRealFree'],

'memPercent'=>$S->sysInfo['memPercent'].'%',

'memCachedPercent'=>$S->sysInfo['memCachedPercent'],

'barmemCachedPercent'=>$S->sysInfo['memCachedPercent'].'%',

'swapPercent'=>$S->sysInfo['swapPercent'],

'barmemRealPercent'=>$S->sysInfo['memRealPercent'].'%',

'barswapPercent'=>$S->sysInfo['swapPercent'].'%',

'NetOut2'=>$S->NetWork['NetOut'][2],

'NetOut3'=>$S->NetWork['NetOut'][3],

'NetOut4'=>$S->NetWork['NetOut'][4],

'NetOut5'=>$S->NetWork['NetOut'][5],

'NetOut6'=>$S->NetWork['NetOut'][6],

'NetOut7'=>$S->NetWork['NetOut'][7],

'NetOut8'=>$S->NetWork['NetOut'][8],

'NetOut9'=>$S->NetWork['NetOut'][9],

'NetOut10'=>$S->NetWork['NetOut'][10],

'NetInput2'=>$S->NetWork['NetInput'][2],

'NetInput3'=>$S->NetWork['NetInput'][3],

'NetInput4'=>$S->NetWork['NetInput'][4],

'NetInput5'=>$S->NetWork['NetInput'][5],

'NetInput6'=>$S->NetWork['NetInput'][6],

'NetInput7'=>$S->NetWork['NetInput'][7],

'NetInput8'=>$S->NetWork['NetInput'][8],

'NetInput9'=>$S->NetWork['NetInput'][9],

'NetInput10'=>$S->NetWork['NetInput'][10],

'NetOutSpeed2'=>$S->NetWork['OutSpeed'][2],

'NetOutSpeed3'=>$S->NetWork['OutSpeed'][3],

'NetOutSpeed4'=>$S->NetWork['OutSpeed'][4],

'NetOutSpeed5'=>$S->NetWork['OutSpeed'][5],

'NetInputSpeed2'=>$S->NetWork['InputSpeed'][2],

'NetInputSpeed3'=>$S->NetWork['InputSpeed'][3],

'NetInputSpeed4'=>$S->NetWork['InputSpeed'][4],

'NetInputSpeed5'=>$S->NetWork['InputSpeed'][5]

);

$jarr=json_encode($arr);

$_GET['callback'] = htmlspecialchars($_GET['callback']);

echo$_GET['callback'],'(',$jarr,')';

exit;

}

function memory_usage() {

$memory = ( ! function_exists('memory_get_usage')) ?'0' : round(memory_get_usage()/1024/1024, 2).'MB';

return$memory;

}

// 计时

function microtime_float() {

$mtime= microtime();

$mtime= explode(' ',$mtime);

return$mtime[1] + $mtime[0];

}

?>

html 代码html>

<?php  echo $title ;?>

* {font-family:"Microsoft Yahei",Tahoma, Arial; }

body{text-align: center; margin: 0 auto; padding: 0; background-color:#fafafa;font-size:12px;font-family:Tahoma, Arial}

h1 {font-size: 26px; padding: 0; margin: 0; color: #333333; font-family:"Lucida Sans Unicode","Lucida Grande",sans-serif;}

h1 small {font-size: 11px; font-family: Tahoma; font-weight: bold; }

a{color: #666; text-decoration:none;}

a.black{color: #000000; text-decoration:none;}

.w_logo{height:25px;text-align:center;color:#333;font-size: 15px; width:13%; }

.j_top{display:table;font-weight:bold;background:#dedede;color:#626262;width: 100%;text-align: left; height: 25px; line-height: 25px;

box-shadow: 1px 1px 1px #CCC;

-moz-box-shadow: 1px 1px 1px #CCC;

-webkit-box-shadow: 1px 1px 1px #CCC;

-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color='#CCCCCC')";}

.j_top a{text-align:center; width:8.7%; display: table-cell; padding: 5px 0px;}

.j_top a:hover{background:#dadada;}

.con{width: 90%;margin: 10px auto;}

.con .j_top{ padding: 0px 10px;}

.j_tb{display:table;width:100%;padding:5px 10px;border-bottom:1px solid #CCCCCC;text-align:left;}

.j_td{display:table-cell;}

.j_td_t{width:120px;}

.j_td_c{width:50%;}

.j_td_t1{width:320px;}

.w_foot{height:25px;text-align:center; background:#dedede;}

input{padding: 2px; background: #FFFFFF; border-top:1px solid #666666; border-left:1px solid #666666; border-right:1px solid #CCCCCC; border-bottom:1px solid #CCCCCC; font-size:12px}

input.btn{font-weight: bold; height: 20px; line-height: 20px; padding: 0 6px; color:#666666; background: #f2f2f2; border:1px solid #999;font-size:12px}

.bar {border:1px solid #999999; background:#FFFFFF; height:5px; font-size:2px; width:89%; margin:2px 0 5px 0;padding:1px; overflow: hidden;}

.bar_1 {border:1px dotted #999999; background:#FFFFFF; height:5px; font-size:2px; width:89%; margin:2px 0 5px 0;padding:1px; overflow: hidden;}

.barli_red{background:#ff6600; height:5px; margin:0px; padding:0;}

.barli_blue{background:#0099FF; height:5px; margin:0px; padding:0;}

.barli_green{background:#36b52a; height:5px; margin:0px; padding:0;}

.barli_black{background:#333; height:5px; margin:0px; padding:0;}

.barli_1{background:#999999; height:5px; margin:0px; padding:0;}

.barli{background:#36b52a; height:5px; margin:0px; padding:0;}

#page {width: 100%; padding: 0 auto; margin: 0 auto; text-align: left;}

#header{position:relative; padding:5px;}

$(document).ready(function(){getJSONData();});

var OutSpeed2==floor($S->NetWork['OutSpeed'][2]);?>;

var OutSpeed3==floor($S->NetWork['OutSpeed'][3]);?>;

var OutSpeed4==floor($S->NetWork['OutSpeed'][4]);?>;

var OutSpeed5==floor($S->NetWork['OutSpeed'][5]);?>;

var InputSpeed2==floor($S->NetWork['InputSpeed'][2]);?>;

var InputSpeed3==floor($S->NetWork['InputSpeed'][3]);?>;

var InputSpeed4==floor($S->NetWork['InputSpeed'][4]);?>;

var InputSpeed5==floor($S->NetWork['InputSpeed'][5]);?>;

function getJSONData(){

setTimeout("getJSONData()", 1000);

$.getJSON('?act=rt&callback=?', displayData);

}

function ForDight(Dight,How){

if(Dight<0){

var Last=0+"B/s";

}elseif (Dight<1024){

var Last=Math.round(Dight*Math.pow(10,How))/Math.pow(10,How)+"B/s";

}elseif (Dight<1048576){

Dight=Dight/1024;

var Last=Math.round(Dight*Math.pow(10,How))/Math.pow(10,How)+"K/s";

}else{

Dight=Dight/1048576;

var Last=Math.round(Dight*Math.pow(10,How))/Math.pow(10,How)+"M/s";

}

return Last;

}

function displayData(dataJSON){

$("#useSpace").html(dataJSON.useSpace);

$("#freeSpace").html(dataJSON.freeSpace);

$("#hdPercent").html(dataJSON.hdPercent);

$("#barhdPercent").width(dataJSON.barhdPercent);

$("#TotalMemory").html(dataJSON.TotalMemory);

$("#UsedMemory").html(dataJSON.UsedMemory);

$("#FreeMemory").html(dataJSON.FreeMemory);

$("#CachedMemory").html(dataJSON.CachedMemory);

$("#Buffers").html(dataJSON.Buffers);

$("#TotalSwap").html(dataJSON.TotalSwap);

$("#swapUsed").html(dataJSON.swapUsed);

$("#swapFree").html(dataJSON.swapFree);

$("#swapPercent").html(dataJSON.swapPercent);

$("#loadAvg").html(dataJSON.loadAvg);

$("#uptime").html(dataJSON.uptime);

$("#freetime").html(dataJSON.freetime);

$("#stime").html(dataJSON.stime);

$("#bjtime").html(dataJSON.bjtime);

$("#cpuuse").html(dataJSON.cpuuse);

$("#memRealUsed").html(dataJSON.memRealUsed);

$("#memRealFree").html(dataJSON.memRealFree);

$("#memRealPercent").html(dataJSON.memRealPercent);

$("#memPercent").html(dataJSON.memPercent);

$("#barmemPercent").width(dataJSON.memPercent);

$("#barmemRealPercent").width(dataJSON.barmemRealPercent);

$("#memCachedPercent").html(dataJSON.memCachedPercent);

$("#barmemCachedPercent").width(dataJSON.barmemCachedPercent);

$("#barswapPercent").width(dataJSON.barswapPercent);

$("#NetOut2").html(dataJSON.NetOut2);

$("#NetOut3").html(dataJSON.NetOut3);

$("#NetOut4").html(dataJSON.NetOut4);

$("#NetOut5").html(dataJSON.NetOut5);

$("#NetOut6").html(dataJSON.NetOut6);

$("#NetOut7").html(dataJSON.NetOut7);

$("#NetOut8").html(dataJSON.NetOut8);

$("#NetOut9").html(dataJSON.NetOut9);

$("#NetOut10").html(dataJSON.NetOut10);

$("#NetInput2").html(dataJSON.NetInput2);

$("#NetInput3").html(dataJSON.NetInput3);

$("#NetInput4").html(dataJSON.NetInput4);

$("#NetInput5").html(dataJSON.NetInput5);

$("#NetInput6").html(dataJSON.NetInput6);

$("#NetInput7").html(dataJSON.NetInput7);

$("#NetInput8").html(dataJSON.NetInput8);

$("#NetInput9").html(dataJSON.NetInput9);

$("#NetInput10").html(dataJSON.NetInput10);

$("#NetOutSpeed2").html(ForDight((dataJSON.NetOutSpeed2-OutSpeed2),3)); OutSpeed2=dataJSON.NetOutSpeed2;

$("#NetOutSpeed3").html(ForDight((dataJSON.NetOutSpeed3-OutSpeed3),3)); OutSpeed3=dataJSON.NetOutSpeed3;

$("#NetOutSpeed4").html(ForDight((dataJSON.NetOutSpeed4-OutSpeed4),3)); OutSpeed4=dataJSON.NetOutSpeed4;

$("#NetOutSpeed5").html(ForDight((dataJSON.NetOutSpeed5-OutSpeed5),3)); OutSpeed5=dataJSON.NetOutSpeed5;

$("#NetInputSpeed2").html(ForDight((dataJSON.NetInputSpeed2-InputSpeed2),3));   InputSpeed2=dataJSON.NetInputSpeed2;

$("#NetInputSpeed3").html(ForDight((dataJSON.NetInputSpeed3-InputSpeed3),3));   InputSpeed3=dataJSON.NetInputSpeed3;

$("#NetInputSpeed4").html(ForDight((dataJSON.NetInputSpeed4-InputSpeed4),3));   InputSpeed4=dataJSON.NetInputSpeed4;

$("#NetInputSpeed5").html(ForDight((dataJSON.NetInputSpeed5-InputSpeed5),3));   InputSpeed5=dataJSON.NetInputSpeed5;

}

PHP参数

组件支持

第三方组件

数据库支持

性能检测

网速检测

MySQL检测

函数检测

邮件检测

服务器参数
服务器域名/IP地址=$S->S['DomainIP'];?>
服务器标识=$S->S['Flag'];?>
服务器操作系统=$S->S['OS'];?>
服务器解译引擎=$S->S['WebEngine'];?>
服务器语言=$S->S['Language'];?>
服务器端口=$S->S['WebPort'];?>
服务器主机名=$S->S['Name'];?>
绝对路径=$S->S['WebPath'];?>
管理员邮箱=$S->S['Email'];?>
探针路径=$S->S['ProbePath'];?>
服务器实时数据
服务器当前时间=$S->S['sTime'];?>
服务器已运行时间=$S->sysInfo['uptime'];?>
CPU型号[=$S->sysInfo['cpu']['num'];?>核]=$S->sysInfo['cpu']['model'];?>
CPU使用情况=$S->CPU_Use;?>
硬盘使用状况

总空间 =$S->hd['t'];?> G,已用 =$S->hd['u'];?> G,

空闲 =$S->hd['f'];?> G,

使用率 =$S->hd['PCT'];?>%

hd['PCT']?>%"> 
 
hd['PCT']?>%"> 
 
内存使用状况
内存使用状况

物理内存:共=$S->sysInfo['memTotal'];?> 

, 已用=$S->sysInfo['memUsed']?>

, 空闲=$S->sysInfo['memFree'];?>

, 使用率=$S->sysInfo['memPercent'];?>

sysInfo['memPercent'];?>%"> 
sysInfo['memPercent'];?>%"> 

<?if ($S->sysInfo['memCached']){?>

Cache化内存为 =$S->sysInfo['memCached'];?>

, 使用率=$S->sysInfo['memCachedPercent'];?>% |

Buffers缓冲为  =$S->sysInfo['memBuffers'];?>

sysInfo['memCachedPercent'];?>%"> 
sysInfo['memCachedPercent'];?>%"> 

真实内存使用=$S->sysInfo['memRealUsed'];?>

, 真实内存空闲=$S->sysInfo['memRealFree'];?>

, 使用率=$S->sysInfo['memRealPercent'];?>%

sysInfo['memRealPercent'];?>%"> 
sysInfo['memRealPercent'];?>%"> 

}?>

<?if  ($S->sysInfo['swapTotal']) {?>

SWAP区:共=$S->sysInfo['swapTotal'];?>

, 已使用=$S->sysInfo['swapUsed'];?>

, 空闲=$S->sysInfo['swapFree'];?>

, 使用率=$S->sysInfo['swapPercent'];?>%

sysInfo['swapPercent'];?>%"> 
 
sysInfo['swapPercent'];?>%"> 
 

}?>

系统平均负载=$S->sysInfo['loadAvg']?>
系统平均负载=$S->sysInfo['loadAvg']?>
网络使用状况
网络使用状况

$netnum= count($S->NetWork);

for($i=2;$i 

=$S->NetWork['NetWorkName'][$i]?>

入网:">=$S->NetWork['NetInput'][$i];?>

实时:">0B/s

出网: ">=$S->NetWork['NetOut'][$i];?>

实时: ">0B/s

}?>

PHP已编译模块检测
PHP已编译模块检测
=$S->phpexts();?>
=$S->phpexts();?>

PHP相关参数
PHP相关参数
PHP信息(phpinfo):=$disFuns;?>
PHP信息(phpinfo):=$disFuns;?>
PHP版本(php_version):=PHP_VERSION;?>
PHP版本(php_version):=PHP_VERSION;?>
PHP运行方式:=strtoupper(php_sapi_name());?>
PHP运行方式:=strtoupper(php_sapi_name());?>
脚本占用最大内存(memory_limit):=$S::show("memory_limit");?>
脚本占用最大内存(memory_limit):=$S::show("memory_limit");?>
PHP安全模式(safe_mode):=$S::show("safe_mode");?>
PHP安全模式(safe_mode):=$S::show("safe_mode");?>
POST方法提交最大限制(post_max_size):=$S::show("post_max_size");?>
POST方法提交最大限制(post_max_size):=$S::show("post_max_size");?>
上传文件最大限制(upload_max_filesize):=$S::show("upload_max_filesize");?>
上传文件最大限制(upload_max_filesize):=$S::show("upload_max_filesize");?>
浮点型数据显示的有效位数(precision):=$S::show("precision");?>
浮点型数据显示的有效位数(precision):=$S::show("precision");?>
脚本超时时间(max_execution_time):=$S::show("max_execution_time");?>秒
socket超时时间(default_socket_timeout):=$S::show("default_socket_timeout");?>秒
PHP页面根目录(doc_root):=$S::show("doc_root");?>
用户根目录(user_dir):=$S::show("user_dir");?>
dl()函数(enable_dl):=$S::show("enable_dl");?>
指定包含文件目录(include_path):=$S::show("include_path");?>
显示错误信息(display_errors):=$S::show("display_errors");?>
自定义全局变量(register_globals):=$S::show("register_globals");?>
数据反斜杠转义(magic_quotes_gpc):=$S::show("magic_quotes_gpc");?>
"<?...?>"短标签(short_open_tag):=$S::show("short_open_tag");?>
"<% %>"ASP风格标记(asp_tags):=$S::show("asp_tags");?>
忽略重复错误信息(ignore_repeated_errors):=$S::show("ignore_repeated_errors");?>
忽略重复的错误源(ignore_repeated_source):=$S::show("ignore_repeated_source");?>
报告内存泄漏(report_memleaks):=$S::show("report_memleaks");?>
自动字符串转义(magic_quotes_gpc):=$S::show("magic_quotes_gpc");?>
外部字符串自动转义(magic_quotes_runtime):=$S::show("magic_quotes_runtime");?>
打开远程文件(allow_url_fopen):=$S::show("allow_url_fopen");?>
声明argv和argc变量(register_argc_argv):=$S::show("register_argc_argv");?>
Cookie 支持:=$strcookies;?>
拼写检查(ASpell Library):=$S::isfun("aspell_check_raw");?>
高精度数学运算(BCMath):=$S::isfun("bcadd");?>
PREL相容语法(PCRE):=$S::isfun("preg_match");?>
PDF文档支持:=$S::isfun("pdf_close");?>
SNMP网络管理协议:=$S::isfun("snmpget");?>
VMailMgr邮件处理:=$S::isfun("vm_adduser");?>
Curl支持:=$S::isfun("curl_init");?>
SMTP支持:=$strsmtp;?>
SMTP地址:=$smtpadd;?>

默认支持函数(enable_functions):?act=Function'target='_blank' class='static'>请点这里查看详细!

被禁用的函数(disable_functions):=$S::GetDisFuns();?>

组件支持
FTP支持:=$S::isfun("ftp_login");?>
XML解析支持:=$S::isfun("xml_set_object");?>
Session支持:=$S::isfun("session_start");?>
Socket支持:=$S::isfun("socket_accept");?>
Calendar支持=$S::isfun('cal_days_in_month');?>
允许URL打开文件:=$S::show("allow_url_fopen");?>
GD库支持:=$S::GetGDVer();?>
压缩文件支持(Zlib):=$S::isfun("gzclose");?>
IMAP电子邮件系统函数库:=$S::isfun("imap_close");?>
历法运算函数库:=$S::isfun("JDToGregorian");?>
正则表达式函数库:=$S::isfun("preg_match");?>
WDDX支持:=$S::isfun("wddx_add_vars");?>
Iconv编码转换:=$S::isfun("iconv");?>
mbstring:=$S::isfun("mb_eregi");?>
高精度数学运算:=$S::isfun("bcadd");?>
LDAP目录协议:=$S::isfun("ldap_close");?>
MCrypt加密处理:=$S::isfun("mcrypt_cbc");?>
哈稀计算:=$S::isfun("mhash_count");?>

第三方组件
$zendInfo= $S::GetZendInfo();?>
Zend版本=$zendInfo['ver'];?>
=$zendInfo['loader']?>=$zendInfo['html'];?>
eAccelerator=$S->CHKModule('eAccelerator');?>
ioncube=$S->GetIconcube();?>
XCache=$S->CHKModule('XCache');?>
APC=$S->CHKModule('APC');?>

数据库支持
MySQL 数据库:=$S::isfun('mysql_close').$S::GetDBVer('mysql');?>
ODBC 数据库:=$S::isfun("odbc_close");?>
Oracle 数据库:=$S::isfun("ora_close");?>
SQL Server 数据库:$S::isfun("mssql_close");?>
dBASE 数据库:=$S::isfun("dbase_close");?>
mSQL 数据库:=$S::isfun("msql_close");?>
SQLite 数据库:=$S->GetDBVer('sqlite');?>
Hyperwave 数据库:=$S::isfun("hw_close");?>
Postgre SQL 数据库:=$S::isfun("pg_close"); ?>
Informix 数据库:=$S::isfun("ifx_close");?>
DBA 数据库:=$S::isfun("dba_close");?>
DBM 数据库:=$S::isfun("dbmclose");?>
FilePro 数据库:=$S::isfun("filepro_fieldcount");?>
SyBase 数据库:=$S::isfun("sybase_close");?>
<?php  $run_time = sprintf('%0.4f', microtime_float() - $time_start);?>Processed in <?php  echo $run_time;?> seconds. <?php  echo memory_usage();?> memory usage.

处理结果: 图为 linux 系统下结果,windows CPU 参数获取不到 …

9a1a5847d18dc63553540a6320b973df.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_739743.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黑帽SEO的作弊手法:

一、隐藏文字 隐藏文字是在网页的HTML文件中放上含有关键字的文字&#xff0c;但这些字用户是看不到的&#xff0c;只能被搜索引擎看到。 隐藏文字的方法可以有几种形式: 颜色隐藏&#xff08;通过将文字与背景设置为相同颜色&#xff09;&#xff0c;达到隐藏的效果…

如何区分是什么程序语言的网站建成的

每个网站都是有动态的语言的&#xff0c;比如询盘功能&#xff0c;留言功能&#xff0c;或者网站内部搜索功能&#xff0c;这几个地方&#xff0c;你可以看看url里面的后缀对应语言.

HTML+CSS网页制作—科技建站

实现的效果图&#xff1a; HTML框架 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"> <head> …

SEO魔法书—企业网站的SEO优化方案

一、网站现有状况分析 1、搜索引擎收录情况查询 site&#xff1a;.com 2、关键词在搜索引擎的排名状况查询 http://tool.chinaz.com/keywords 3、网站首页元标签情况 4、网站友情链接检测 如果链向本网站的高质量链接越多&#xff0c;搜索引擎给于网站本身的权重也就越高。…

SEO魔法书—垂直门户网站的SEO策略

垂直门户网站的SEO策略 一、网站分析 行业垂直门户的特色就是专一。他们并不追求大而全&#xff0c;他们只做自己熟悉领域的事。 垂直门户网站的优化更需要注重优化策略。 二、专题策略的概念 专题页为什么被搜索引擎给予很高的权重&#xff1f; 搜素引擎不喜欢在一个页面堆…

SEO魔法书—网站搭建

建立一个利于SEO的网站 一、网站的先期策划 每建立一个网站&#xff0c;需要做一份完整的网站策划案&#xff0c;即这个网站该做什么内容&#xff0c;用什么形式去做&#xff0c;建设完成后如何推广等。 1、做什么内容 每个网站都有其存在的意义&#xff0c;除非只是为了骗…

SEO魔法书-网站优化

搜索引擎的实质: 无论任何搜索引擎&#xff0c;无论任何算法&#xff0c;其最核心的目的就是将最优秀的&#xff0c;最符合用户搜索关键词的内容推荐给用户。 搜索引擎规则在不停的优化排名规则&#xff0c;或大或小&#xff0c;在做SEO的时候&#xff0c;只要网站本身的基础…

SEO魔法书-SEO作弊

SEO作弊又叫做黑帽SEO. “SPAM”原本是用来形容垃圾邮件的一个词汇&#xff0c;在搜索引擎中是指利用其漏洞来提高网页排名的一种办法。 一、判断网站是否SPAM? ①通过域名、IP地址之间的连接数量。 导出链接过多&#xff0c;达到阈值&#xff0c;就会被认为作弊。网站导航…

SEO魔法书-相关基础算法

一、超链接分析算法 Google的PR系统 PR的全称PageRank.中文解释为网页级别。 用什么办法可以提高自己的google PR? 增加高质量导入链接,导入链接质量越高,此页面评分就越高,反之亦然. Google进行网页排序需要考虑什么&#xff1f; 不仅仅是PR,还有链接页面本身的年龄&…

SEO魔法书-英文SEO

1.英文网站的内容来源&#xff1a; Google对网站内容的审核非常严格&#xff0c;轻易复制&#xff0c;会被警告&#xff0c;甚至诉上法庭。 2.英文网站的关键词&#xff1a; 用google 关键词工具&#xff0c;不仅可以查询正确度&#xff0c;还可以查询竞争度。如果是非常激烈…

登录后获取用户名_网站建设教程:PageAdmin Cms如何获取用户登录状态

PageAdmin作为国内一款优秀的cms网站内容管理系统&#xff0c;在国内拥有庞大的用户群&#xff0c;小编我很多客户的网站也采用这个系统制作&#xff0c;最近有个客户需求是&#xff1b;用户需要先登录后才能浏览页面&#xff0c;看了官方文档后总结了一下&#xff0c;希望对大…

外贸企业建站

外贸企业网站目的&#xff1a; 如何获取SEO流量&#xff1f;企业网站流量哪里来&#xff1f; 搜索引擎优化&#xff08;主&#xff09; CPC广告 &#xff08;辅&#xff09; B2B行业网站&#xff08;辅&#xff09; 目录网站&#xff08;辅&#xff09; 博客论坛&#xff…

Google Search Console网站搜索控制台是什么,怎么用?

https://search.google.com/search-console/ 谷歌控制台注册 谷歌控制台如何跟企业官网和Google analysis做链接? 添加资源选择类型 两者任选其一。建议选择第二种 把所需要添加的网址添加 验证成功 这么简单&#xff0c;Google Search Console 就配置成功了&#xff1f;什么…

Google analytics如何统计网站信息?

Google analytics如何统计网站信息&#xff1f;是的&#xff0c;我们必须通过代码安装。这也是一种安全加密形式。如果任何人都有资格获取我们私欲流量的数据&#xff0c;那岂不是没有秘密可言。如何添加跟踪代码呢&#xff1f; https://analytics.google.com/ 网站注册链接…

网站产品词投放准确,带来的询盘却没法成交,是什么原因呢?

网站核心产品词投放准确&#xff0c;带来的询盘外行看起来很准确&#xff0c;但是业务人员却无法跟踪变成订单&#xff0c;可能原因如下&#xff1a; 1、没有认证&#xff1b; 2、电压太高或者太低无法生产&#xff1b; 3、材料构成原因&#xff1b; 4、国内跟国外很多参数…

如何搭建一个外国客户喜欢的网站?

喜欢嘛。喜欢的前提是看到。想要被看到得话就要根据客户习惯去规划整个网站。 在全球的搜索流量中&#xff0c;谷歌是大户&#xff0c;主要引流渠道。所以我们要看重。 谷歌的流量之大&#xff1a; 谷歌月访问量达到880亿。 外贸用户每天依靠谷歌进行日常搜索。 但谷歌除了做…

SEO保证效果可信吗?

SEO保证效果可信吗&#xff1f; SEO不管是包年&#xff0c;还是包月优化保证效果皆不可信。事实是&#xff0c;SEO优化本身是没有办法保障的。 SEO是什么呢&#xff1f; SEO&#xff08;Search Engine Optimization&#xff09;&#xff1a;汉译为搜索引擎优化。是一种方式&a…

如何利用受众群体判断网站是否符合Google的要求?

以耐磨板网站为例&#xff1a;我们推广的词应该是wear plate. 请细看&#xff0c;这个单词是wear和plate的组合。wear是穿的意思。plate是盘子的意思。如果单个中文翻译出来的意思是穿盘子。如果网站定位不准&#xff0c;很容易被机器判断你是卖服饰的。然后机器就会自动向你推…

seo语意搜索(semantic)

对网站本身的内容进行优化。我们要考虑对A类产品感兴趣的人&#xff0c;他们会搜索什么样的关键词。接下来我们就把产品的关键词比较巧妙的插入网站内容中。谷歌在爬取网站的时候会发现我们有特别多这样关键词的内容&#xff0c;当用户搜索相关关键词内容的时候&#xff0c;谷歌…

知道一个公司的网站地址,怎么快速获取邮箱。

常规思维是打开网站&#xff0c;然后查看联系我们页面。但是我们慢慢会发现&#xff0c;好多网站竟然都不放邮箱。 联系我们页面竟然只放了一个表单。。。 &#xff08;为什么呢&#xff0c;肯定是为了目标转化呀&#xff09; 我们可以拿网址去谷歌搜索&#xff0c;域名后缀加上…