PHP PROBER | > Script written by Tahiti | > Date started: 27th June 2004 | +-------------------------------------------------------------------------- /* Functions in this file */ /**************************/ // bar($percent) // find_command($commandName) // getcon($varName) // get_key($keyName) // isfun($funName) // sys_freebsd() // sys_linux() // test_float() // test_int() // test_io() // do_command($commandName, $args) header("content-Type: text/html; charset=utf-8"); error_reporting(E_ERROR | E_WARNING | E_PARSE); ob_start(); $valInt = (false == empty($_POST['pInt']))?$_POST['pInt']:"未测试"; $valFloat = (false == empty($_POST['pFloat']))?$_POST['pFloat']:"未测试"; $valIo = (false == empty($_POST['pIo']))?$_POST['pIo']:"未测试"; $mysqlReShow = "none"; $mailReShow = "none"; $funReShow = "none"; $opReShow = "none"; $sysReShow = "none"; define("YES", "YES"); define("NO", "NO"); define("ICON", "2 "); $phpSelf = $_SERVER[PHP_SELF] ? $_SERVER[PHP_SELF] : $_SERVER[SCRIPT_NAME]; define("PHPSELF", preg_replace("/(.{0,}?\/+)/", "", $phpSelf)); if ($_GET['act'] == "phpinfo") { phpinfo(); exit(); } elseif($_POST['act'] == "TEST_1") { $valInt = test_int(); } elseif($_POST['act'] == "TEST_2") { $valFloat = test_float(); } elseif($_POST['act'] == "TEST_3") { $valIo = test_io(); } elseif($_POST['act'] == "CONNECT") { $mysqlReShow = "show"; $mysqlRe = "MYSQL连接测试结果:"; $mysqlRe .= (false !== @mysql_connect($_POST['mysqlHost'], $_POST['mysqlUser'], $_POST['mysqlPassword']))?"MYSQL服务器连接正常, ": "MYSQL服务器连接失败, "; $mysqlRe .= "数据库 ".$_POST['mysqlDb']." "; $mysqlRe .= (false != @mysql_select_db($_POST['mysqlDb']))?"连接正常": "连接失败"; } elseif($_POST['act'] == "SENDMAIL") { $mailReShow = "show"; $mailRe = "MAIL邮件发送测试结果:发送"; $mailRe .= (false !== @mail($_POST["mailReceiver"], "MAIL SERVER TEST", "This email is sent by iProber.\r\n\r\ndEpoch Studio\r\nhttp://depoch.net"))?"完成":"失败"; } elseif($_POST['act'] == "FUNCTION_CHECK") { $funReShow = "show"; $funRe = "函数 ".$_POST['funName']." 支持状况检测结果:".isfun($_POST['funName']); } elseif($_POST['act'] == "CONFIGURATION_CHECK") { $opReShow = "show"; $opRe = "配置参数 ".$_POST['opName']." 检测结果:".getcon($_POST['opName']); } // 系统参数 switch (PHP_OS) { case "Linux": $sysReShow = (false !== ($sysInfo = sys_linux()))?"show":"none"; break; case "FreeBSD": $sysReShow = (false !== ($sysInfo = sys_freebsd()))?"show":"none"; break; default: break; } /*========================================================================*/ ?> PHP探针 iProber V0.024
">

iProberV0.024

点击下载 iProber 探针, 或查看最新版本
报告BUGS, 或反馈意见给 dEpoch Studio

服务器特征 PHP基本特征 PHP组件支持状况 服务器性能检测 自定义检测 刷新 66
〖AD〗 羿高域名商务网: 域名注册 域名交易 过期域名|删除域名查询 域名工具集

5
6

8服务器特性
服务器处理器 CPU CPU个数:
服务器时间  北京时间:
服务器运行时间
服务器域名/IP地址 ( )
服务器操作系统  内核版本:
主机名称
服务器解译引擎
Web服务端口
服务器管理员
本文件路径
目前还有空余空间 diskfreespace M
内存使用状况 物理内存:共 M, 已使用 M, 空闲 M, 使用率 % SWAP区:共 M, 已使用 M, 空闲 M, 使用率 %
系统平均负载

5
6

8PHP基本特性
PHP运行方式
PHP版本
运行于安全模式
支持ZEND编译运行
允许使用URL打开文件 allow_url_fopen
允许动态加载链接库 enable_dl
显示错误信息 display_errors
自动定义全局变量 register_globals
程序最多允许使用内存量 memory_limit
POST最大字节数 post_max_size
允许最大上传文件 upload_max_filesize
程序最长运行时间 max_execution_time
magic_quotes_gpc
magic_quotes_runtime
被禁用的函数 disable_functions ",$disFuns)?>
PHP信息 PHPINFO PHPINFO"?>

5
6

8PHP组件支持
拼写检查 ASpell Library 高精度数学运算 BCMath
历法运算 Calendar DBA数据库
dBase数据库 DBM数据库
FDF表单资料格式 FilePro数据库
Hyperwave数据库 图形处理 GD Library
IMAP电子邮件系统 Informix数据库
LDAP目录协议 MCrypt加密处理
哈稀计算 MHash mSQL数据库
SQL Server数据库 MySQL数据库
SyBase数据库 Yellow Page系统
Oracle数据库 Oracle 8 数据库
PREL相容语法 PCRE PDF文档支持
Postgre SQL数据库 SNMP网络管理协议
VMailMgr邮件处理 WDDX支持
压缩文件支持(Zlib) XML解析
FTP ODBC数据库连接
Session支持 Socket支持

5
6

8服务器性能检测
检测对象 整数运算能力测试
(1+1运算300万次)
浮点运算能力测试
(开平方300万次)
数据I/O能力测试
(读取10K文件10000次)
Tahiti 的电脑(P4 1.7G 256M WinXP) 1.421秒 1.358秒 0.177秒
PIPNI免费空间(2004/06/28 02:08) 2.545秒 2.545秒 0.171秒
神话科技风CGI型(2004/06/28 02:03) 0.797秒 0.729秒 0.156秒
您正在使用的这台服务器


5
6

8自定义检测
MYSQL连接测试
MYSQL服务器 /> MYSQL用户名 />
MYSQL用户密码 /> MYSQL数据库名称   name="act" />
MAIL邮件发送测试
收信地址 />   name="act" />
函数支持状况
函数名称  
PHP配置参数状况
参数名称  
", $res['cpu']['detail']); } // 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("/MemTotal\s{0,}\:+\s{0,}([\d\.]+).+?MemFree\s{0,}\:+\s{0,}([\d\.]+).+?SwapTotal\s{0,}\:+\s{0,}([\d\.]+).+?SwapFree\s{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, 3); $res['loadAvg'] = implode(" ", $str[0]); return $res; } /*------------------------------------------------------------------------------------------------------------- 系统参数探测 FreeBSD --------------------------------------------------------------------------------------------------------------*/ function sys_freebsd() { //CPU if (false === ($res['cpu']['num'] = get_key("hw.ncpu"))) return false; $res['cpu']['detail'] = get_key("hw.model"); //LOAD AVG if (false === ($res['loadAvg'] = get_key("vm.loadavg"))) return false; $res['loadAvg'] = str_replace("{", "", $res['loadAvg']); $res['loadAvg'] = str_replace("}", "", $res['loadAvg']); //UPTIME if (false === ($buf = get_key("kern.boottime"))) return false; $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)); if ($days !== 0) $res['uptime'] = $days."天"; if ($hours !== 0) $res['uptime'] .= $hours."小时"; $res['uptime'] .= $min."分钟"; //MEMORY if (false === ($buf = get_key("hw.physmem"))) return false; $res['memTotal'] = round($buf/1024/1024, 2); $buf = explode("\n", do_command("vmstat", "")); $buf = explode(" ", trim($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; return $res; } /*------------------------------------------------------------------------------------------------------------- 取得参数值 FreeBSD --------------------------------------------------------------------------------------------------------------*/ function get_key($keyName) { return do_command('sysctl', "-n $keyName"); } /*------------------------------------------------------------------------------------------------------------- 确定执行文件位置 FreeBSD --------------------------------------------------------------------------------------------------------------*/ function 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"; } return false; } /*------------------------------------------------------------------------------------------------------------- 执行系统命令 FreeBSD --------------------------------------------------------------------------------------------------------------*/ function do_command($commandName, $args) { $buffer = ""; if (false === ($command = find_command($commandName))) return false; if ($fp = @popen("$command $args", 'r')) { while (!@feof($fp)) { $buffer .= @fgets($fp, 4096); } return trim($buffer); } return false; } ?>