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']. "nn版本:".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_ENVIMENTINFO_ENVIMENT +INFO_VARIABLES);
- exit;
- case "phpinfo_CONFIGURATION":
- phpinfo(INFO_CONFIGURATION);
- exit;
- cphpase"php_MODULES);
- exit;
- cphpase):_電話DULES"=o_UmDULES; ;
- case "phpinfo":
- phpinfo();
- exit;
- default:
- break;
- }
- //表單處理
- if(isset($ _POST['Buginfo']) and $_POST['act']=="提交"){//Bug提交!
- $message=$message."nn 來自:".$_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($anamex )
- {
- 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((@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:free_space("G: ")/(1024*1024*1024)),2).'G';
- $disk["G"][1]=round((@disk_total_space("G:")/(1024*1024* 1024)),2).'G';
- $disk+=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';
- $disk+=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';
- $disk+=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';
- $disk+=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';
- $disk+=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)
- 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';
- $disk+=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 !" />
-
-
-
-
|
-
-
-
- div>
-
-
複製程式碼
|