php 探针
-
/*
- +--------------------------------------------------------------------------
- | B-Check v0.05.4
- | ========================================
- | 南方第三制作
- | http://www.rubyfans.com
- | ========================================
- | 探针官方: 无
- | 最后更新: 2010.9.6 11:30
- | QQ:307292967
- +---------------------------------------------------------------------------
- |
- | 在编写过程中,学习借鉴了很多其他优秀的探针
- | 并根据自身的理解做了很多修改和优化,就当前而言,这是探测信息最全面的PHP探针了!
- | 整个执行框架,我是想到哪就写到哪,并没有进行合理的规划,我想,在以后我有时间的时候会近一步更新
- |
- +--------------------------------------------------------------------------
- */
-
-
- //抑制所有的错误信息
- ini_set('display_errors', 'off');
-
- //计算页面运行时间函数
- function getmicrotime(){
- list($usec, $sec) = explode(" ",microtime());
- return ((float)$usec + (float)$sec);
- }
- $pagestartime=getmicrotime();
-
- //显示常量
- define("on", "Yes");
- define("off", "No");
- define("version", "v0.05.4");//版本号
- define("overtime","2010.9.6 11:30");//完成时间
-
- //显示开关
- $mysqlReShow = "none";
-
- //使用通知,针对前几个版本中,使用通知处理不合理,导致通知邮件源源不断塞进我的邮箱。
- if($_COOKIE["had_send"] != "yes") {
- $messagex="来自:http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."\n\n版本:".version;
- $tox="307292967@qq.com";
- $subjectx="B-check User - ".version;
- mail($tox, $subjectx, $messagex);
- setcookie("had_send", "yes");
- }
-
- //性能信息结果刷新
- $ts_int = (false == empty($_POST['tsint']))?$_POST['tsint']:test_int();
- $ts_float = (false == empty($_POST['tsfloat']))?$_POST['tsfloat']:test_float();
- $ts_io = (false == empty($_POST['tsio']))?$_POST['tsio']:test_io();
- if(isset($_POST['speed']))
- {
- $speed=round(100/($_POST['speed']/1000),2);
- }
- elseif($_GET['speed']=="0")
- {
- $speed=6666.67;
- }
- elseif(isset($_GET['speed']) and $_GET['speed']>0)
- {
- $speed=round(100/($_GET['speed']/1000),2);
- }
- else
- {
- $speed=" 未探测 ";
- }
- //phpinfo()信息列举
- switch ($_GET['action']){
- case "phpinfo_GENERAL":
- phpinfo(INFO_GENERAL+INFO_ENVIRONMENT+INFO_VARIABLES);
- exit;
- case "phpinfo_CONFIGURATION":
- phpinfo(INFO_CONFIGURATION);
- exit;
- case "phpinfo_MODULES":
- phpinfo(INFO_MODULES);
- exit;
- case "phpinfo":
- phpinfo();
- exit;
- default:
- break;
- }
- //表单处理
- if(isset($_POST['Buginfo']) and $_POST['act']=="提交"){//Bug提交!
- $message=$message."\n\n 来自:".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
- $to="307292967@qq.com";
- $subject="浩哥你多大了?";
- $jg=@mail($to, $subject, $message);
- $jgprint= (true==$jg)?"上报成功!谢谢你!":"上报失败!写信给我吧:307292967@qq.com";
- }
- elseif($_POST['action']=="整数运算")
- {
- $ts_int=test_int();
- }
- elseif($_POST['action']=="浮点运算")
- {
- $ts_float=test_float();
- }
- elseif($_POST['action']=="IO测试")
- {
- $ts_io=test_io();
- }
- elseif($_POST['action']=="开始测试")//网速测试,等你来完善。
- {
- ?>
-
for($i=1;$iecho "";
- }
- ?>
-
}
- elseif($_POST['action'] == "连接Mysql")
- {
- $mysqlReShow = "show";
- $mysqlRe = "MYSQL连接测试结果:";
- $mysqlRe .= (false !==mysql_connect($_POST['mysqlhost'], $_POST['mysqluser'], $_POST['mysqlpsd']))?"MYSQL服务器连接正常,":"MYSQL服务器连接失败!, ";
- $mysqlRe .= "数据库 ".$_POST['mysqldb']." ";
- $mysqlRe .= (false != @mysql_select_db($_POST['mysqldb']))?"连接正常":"连接失败!";
- if(false !==mysql_connect($_POST['mysqlhost'], $_POST['mysqluser'], $_POST['mysqlpsd']))
- {
- $mysql_version=mysql_get_server_info();
- }
- else
- {
- $mysql_version="获取失败!";
- }
- $mysqlRe .= ",Mysql服务器版本:";
- $mysqlRe .= $mysql_version;
- }
- elseif($_POST['action'] == "发送")
- {
- $mailRe = (false !== @mail($_POST["mailReceiver"], "探针邮件测试", "成功发送!"))?"发送完成":"发送失败!";
- }
- elseif($_POST['action']=="检测")
- {
- $funre=$_POST['funame']." 的支持情况:".getfunexists($_POST['funame']);
- }
- elseif($_POST['action']=="检测1")
- {
- $pmre=$_POST['pm']." 的支持情况:".getvar($_POST['pm']);
- }
- //获取Zend Optimizer版本,方法参考了废墟のPHP探针
- function checkoptimizer()
- {
- $url= "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."?action=phpinfo";
- $htmlct=file_get_contents($url);
- eregi("Optimizer v(.*), Copyright", $htmlct, $regs);
- $optimizerversion=$regs[1];
- $optimizerversion=(''!=$optimizerversion)?$optimizerversion:"获取失败!";
- return $optimizerversion;
- }
- //获取php.ini配置参数,参考iProber
- function getvar($varname)
- {
- switch($var=get_cfg_var($varname)?get_cfg_var($varname):ini_get($varname))
- {
- case 0:
- return off;
- break;
- case 1:
- return on;
- break;
- default:
- return $var;
- break;
- }
- }
- //判断函数定义情况
- function getfunexists($funame)
- {
- return (false !== function_exists($funame))?on:off;
- }
- //整数运算测试
- function test_int()
- {
- $startime=getmicrotime();
- for($i = 0; $i {
- $t = 1+1;
- }
- $endtime=getmicrotime();
- $time=round($endtime-$startime,4);
- return $time;
- }
- //浮点数运算测试
- function test_float()
- {
- $startime=getmicrotime();
- for($i = 0; $i {
- sqrt($t);
- }
- $endtime=getmicrotime();
- $time=round($endtime-$startime,4);
- return $time;
- }
- //IO能力测试
- function test_io()
- {
- $fp = fopen($_SERVER['PHP_SELF'], "r");
- $startime=getmicrotime();
- for($i = 0; $i {
- fread($fp, 10240);
- rewind($fp);
- }
- $endtime=getmicrotime();
- $time=round($endtime-$startime,4);
- return $time;
- }
- //获取磁盘信息、disk_x_space("y")的参数不能用变量,@在这里不起作用
- $diskct=0;
- $disk=array();
- /*if(@disk_total_space("A:")!=NULL) *为防止影响服务器,不检查软驱 - 阿江说的
- {
- $diskct=1;
- $disk["A"]=round((@disk_free_space("A:")/(1024*1024*1024)),2)."G / ".round((@disk_total_space("A:")/(1024*1024*1024)),2).'G';
- }*/
- $diskz=0; //磁盘总容量
- $diskk=0; //磁盘剩余容量
- if(@disk_total_space("B:")!=NULL)
- {
- $diskct++;
- $disk["B"][0]=round(@disk_free_space("B:")/(1024*1024*1024),2).'G';
- $disk["B"][1]=round(@disk_total_space("B:")/(1024*1024*1024),2).'G';
- $disk["B"][2]=round(((@disk_free_space("B:")/(1024*1024*1024))/(@disk_total_space("B:")/(1024*1024*1024)))*100,2).'%';
- $diskk+=round((@disk_free_space("B:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("B:")/(1024*1024*1024)),2);
- }
- if(@disk_total_space("C:")!=NULL)
- {
- $diskct++;
- $disk["C"][0]=round((@disk_free_space("C:")/(1024*1024*1024)),2).'G';
- $disk["C"][1]=round((@disk_total_space("C:")/(1024*1024*1024)),2).'G';
- $disk["C"][2]=round(((@disk_free_space("C:")/(1024*1024*1024))/(@disk_total_space("C:")/(1024*1024*1024)))*100,2).'%';
- $diskk+=round((@disk_free_space("C:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("C:")/(1024*1024*1024)),2);
- }
- if(@disk_total_space("D:")!=NULL)
- {
- $diskct++;
- $disk["D"][0]=round((@disk_free_space("D:")/(1024*1024*1024)),2).'G';
- $disk["D"][1]=round((@disk_total_space("D:")/(1024*1024*1024)),2).'G';
- $disk["D"][2]=round(((@disk_free_space("D:")/(1024*1024*1024))/(@disk_total_space("D:")/(1024*1024*1024)))*100,2).'%';
- $diskk+=round((@disk_free_space("D:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("D:")/(1024*1024*1024)),2);
- }
- if(@disk_total_space("E:")!=NULL)
- {
- $diskct++;
- $disk["E"][0]=round((@disk_free_space("E:")/(1024*1024*1024)),2).'G';
- $disk["E"][1]=round((@disk_total_space("E:")/(1024*1024*1024)),2).'G';
- $disk["E"][2]=round(((@disk_free_space("E:")/(1024*1024*1024))/(@disk_total_space("E:")/(1024*1024*1024)))*100,2).'%';
- $diskk+=round((@disk_free_space("E:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("E:")/(1024*1024*1024)),2);
- }
- if(@disk_total_space("F:")!=NULL)
- {
- $diskct++;
- $disk["F"][0]=round((@disk_free_space("F:")/(1024*1024*1024)),2).'G';
- $disk["F"][1]=round((@disk_total_space("F:")/(1024*1024*1024)),2).'G';
- $disk["F"][2]=round(((@disk_free_space("F:")/(1024*1024*1024))/(@disk_total_space("F:")/(1024*1024*1024)))*100,2).'%';
- $diskk+=round((@disk_free_space("F:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("F:")/(1024*1024*1024)),2);
- }
- if(@disk_total_space("G:")!=NULL)
- {
- $diskct++;
- $disk["G"][0]=round((@disk_free_space("G:")/(1024*1024*1024)),2).'G';
- $disk["G"][1]=round((@disk_total_space("G:")/(1024*1024*1024)),2).'G';
- $diskk+=round((@disk_free_space("G:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("G:")/(1024*1024*1024)),2);
- }
- if(@disk_total_space("H:")!=NULL)
- {
- $diskct++;
- $disk["H"][0]=round((@disk_free_space("H:")/(1024*1024*1024)),2).'G';
- $disk["H"][1]=round((@disk_total_space("H:")/(1024*1024*1024)),2).'G';
- $diskk+=round((@disk_free_space("H:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("H:")/(1024*1024*1024)),2);
- }
- if(@disk_total_space("I:")!=NULL)
- {
- $diskct++;
- $disk["I"][0]=round((@disk_free_space("I:")/(1024*1024*1024)),2).'G';
- $disk["I"][1]=round((@disk_total_space("I:")/(1024*1024*1024)),2).'G';
- $diskk+=round((@disk_free_space("I:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("I:")/(1024*1024*1024)),2);
- }
- if(@disk_total_space("J:")!=NULL)
- {
- $diskct++;
- $disk["J"][0]=round((@disk_free_space("J:")/(1024*1024*1024)),2).'G';
- $disk["J"][1]=round((@disk_total_space("J:")/(1024*1024*1024)),2).'G';
- $diskk+=round((@disk_free_space("J:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("J:")/(1024*1024*1024)),2);
- }
- if(@disk_total_space("K:")!=NULL)
- {
- $diskct++;
- $disk["K"][0]=round((@disk_free_space("K:")/(1024*1024*1024)),2).'G';
- $disk["K"][1]=round((@disk_total_space("K:")/(1024*1024*1024)),2).'G';
- $diskk+=round((@disk_free_space("K:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("K:")/(1024*1024*1024)),2);
- }
- if(@disk_total_space("L:")!=NULL)
- {
- $diskct++;
- $disk["L"][0]=round((@disk_free_space("L:")/(1024*1024*1024)),2).'G';
- $disk["L"][1]=round((@disk_total_space("L:")/(1024*1024*1024)),2).'G';
- $diskk+=round((@disk_free_space("L:")/(1024*1024*1024)),2);
- $diskz+=round((@disk_total_space("L:")/(1024*1024*1024)),2);
- }
- ?>
-
-
-
- PHP探针_B-Check
-
-
-
-
-
-
-
- 8PHP环境基本配置(php.ini)
-
|
-
-
-
运行方式: |
-
|
-
-
-
PHP版本: |
-
|
-
-
-
Zend版本: |
-
|
-
-
-
-
-
Zend Optimizer版本: |
-
-
-
- Zend Optimizer仔细检查所有运行 Zend 编译器产生的代码,分析并做优化,让它运行得更快。经过测试确实可以提高程序运行速度超过60%,并且降低了程序对系统资源的耗用。
|
-
-
-
Mysql客户端库版本: |
-
-
-
- 若成功获取,不要误会是服务器端的Mysql版本了,下面在做Mysql连接测试时会探测服务器的Mysql版本的。
|
-
-
-
ZEND编译运行: |
-
|
-
-
-
运行于安全模式:(safe_mode) |
-
|
-
-
-
访问 URL 对象:(allow_url_fopen) |
-
|
-
-
-
注册全局变量:(register_globals) |
-
|
-
-
-
魔术引号开启:(magic_quotes_gpc) |
-
|
-
-
-
短标记支持:(short_open_tag) |
-
-
-
- 允许使用 PHP 代码开始标志的缩写形式( ?>)。很多PHP程序都使用短标记,如著名的Discuz!。如果你的空间不支持这个的话,要当心放DZ论坛哦。
|
-
-
-
自动转义溢出字符:(magic_quotes_runtime) |
-
|
-
-
-
允许动态加载链接库:(enable_dl) |
-
|
-
-
-
显示错误信息:(display_errors) |
-
|
-
-
-
post最大数据量:(post_max_size) |
-
|
-
-
-
上传文件的最大大小:(upload_max_filesize) |
-
|
-
-
-
脚本最大内存使用量:(memory_limit) |
-
|
-
-
-
查看phpinfo(): |
-
PHPINFO |
-
-
-
-
-
-
$pagendtime=getmicrotime();
- $pagetime=round($pagendtime-$pagestartime,5);
- ?>
-
-
- " alt="PHP Logo !" />
- " alt="Zend Logo !" />
-
-
-
|
-
-
-
-
复制代码
|