PHPプローブ

WBOY
リリース: 2016-07-25 09:10:55
オリジナル
2374 人が閲覧しました
  • phpプローブ

    1. /*
    2. +------------------------------------- --- ----------------------------------------
    3. | B-Check v0. 05.4
    4. | === ====================================
    5. | http://www.rubyfans.com
    6. | ===================================== ===
    7. | プローブ 公式: なし
    8. 最終更新日: 2010.9.6 11:30
    9. | QQ:307292967
    10. | ---------------------------------------------------- --------
    11. |
    12. | 作成プロセス中に、他の多くの優れたプローブ
    13. から学び、私自身の理解に基づいて多くの修正と最適化を行いました。今のところ、これが最も包括的な PHP プローブです。情報を検知中!
    14. | 実行フレームワーク全体を適当に計画せずに書きました。今後時間があるときにさらに更新すると思います
    15. |
    16. +---------- ------ -------------------------------------------- ------ --------
    17. */
    18. //すべてのエラーメッセージを抑制します
    19. ini_set('display_errors', 'off');
    20. //ページの実行時間を計算します function
    21. function getmicrotime(){
    22. list ($usec, $sec) =explode(" ",microtime());
    23. return ((float)$usec + (float)$sec) }
    24. $pagestartime=getmicrotime();
    25. define("on", "はい");
    26. define("off", "いいえ");
    27. define("version", "v0.05.4");//バージョン番号
    28. define("overtime" ,"2010.9.6   11:30");//完了時間
    29. //表示切り替え
    30. $mysqlReShow = "none";
    31. //通知を使用します。以前のバージョンでは、通知処理は不可能でした。結果として安定したストリームが発生しました私のメールボックスに大量の通知メールが詰め込まれています。
    32. if($_COOKIE["had_send"] != "yes") {
    33. $messagex="From: http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."nn バージョン: ".version;
    34. $tox="307292967@qq.com";
    35. $subjectx="B-check ユーザー - ".version;
    36. mail($tox, $subjectx, $messagex);
    37. setcookie("had_send", "yes");
    38. }
    39. //パフォーマンス情報の結果を更新します
    40. $ts_int = (false == empty($_POST['tsint']))?$_POST['tsint']:test_int();
    41. $ts_float = (false == empty($_POST['tsfloat']))?$_POST['tsfloat']:test_float();
    42. $ts_io = (false == empty($_POST['tsio']))?$ _POST['tsio']:test_io();
    43. if(isset($_POST['speed']))
    44. {
    45. $speed=round(100/($_POST['speed']/1000),2);
    46. }
    47. elseif($_GET['speed']=="0")
    48. {
    49. $speed=6666.67;
    50. }
    51. elseif(isset($_GET['speed']) and $_GET['speed']> ;0)
    52. {
    53. $speed=round(100/($_GET['speed']/1000),2);
    54. }
    55. else
    56. {
    57. $speed=" 検出されませんでした ";
    58. }
    59. //phpinfo() 情報リスト
    60. switch ($_GET['action']){
    61. case "phpinfo_GENERAL":
    62. phpinfo(INFO_GENERAL+INFO_ENVIRONMENT+INFO_VARIABLES);
    63. exit;
    64. case "phpinfo_CONFIGURATION":
    65. phpinfo(INFO_CONFIGURATION);
    66. 終了;
    67. case "phpinfo_MODULES":
    68. phpinfo(INFO_MODULES);
    69. exit;
    70. case "phpinfo":
    71. phpinfo();
    72. exit;
    73. デフォルト:
    74. ブレーク;
    75. }
    76. //フォーム処理
    77. if(isset($_POST['Buginfo']) and $_POST['act']=="Submit"){//バグ送信!
    78. $message=$message."nn from :".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
    79. $to="307292967@qq.com";
    80. $subject="ハオ兄弟、あなたは何歳ですか? ";
    81. $jg=@mail($to, $subject, $message);
    82. $jgprint= (true==$jg)?"レポートが正常に送信されました。ありがとう! ":"レポートが失敗しました!メールしてください: 307292967@qq.com";
    83. }
    84. elseif($_POST['action']=="整数演算")
    85. {
    86. $ts_int=test_int();
    87. }
    88. elseif ($ _POST['action']=="浮動小数点演算")
    89. {
    90. $ts_float=test_float();
    91. }
    92. elseif($_POST['action']=="IO テスト")
    93. {
    94. $ts_io =test_io ();
    95. }
    96. elseif($_POST['action']=="テストの開始")//インターネット速度テスト。完了を待っています。
    97. {
    98. ?>
    99. }
    100. elseif ($_POST['action'] == "Mysql に接続")
    101. {
    102. $mysqlReShow = "表示";
    103. $mysqlRe = "MYSQL 接続テスト結果:";
    104. $mysqlRe .= (false !==mysql_connect( $ _POST['mysqlhost'], $_POST['mysqluser'], $_POST['mysqlpsd']))?"MYSQL サーバー接続は正常です,": " MYSQL サーバー接続に失敗しました!, ";
    105. $mysqlRe .= "データベース".$_POST['mysqldb']." $mysqlRe .= (false != @mysql_select_db($_POST['mysqldb']))?"接続は正常です":"< ; font color="red">接続に失敗しました! ";
    106. if(false !==mysql_connect($_POST['mysqlhost'], $_POST['mysqluser'], $_POST['mysqlpsd']))
    107. {
    108. $mysql_version=mysql_get_server_info() ;
    109. }
    110. else
    111. {
    112. $mysql_version="取得に失敗しました! ";
    113. }
    114. $mysqlRe .= "、Mysql サーバーのバージョン: ";
    115. $mysqlRe .= $mysql_version;
    116. }
    117. elseif($_POST['action'] == "送信")
    118. {
    119. $mailRe = (false !== @mail($_POST["mailReceiver"], "プローブメールテスト", "送信成功!"))?"送信完了< ;/ font>":"送信に失敗しました!";
    120. }
    121. elseif($_POST['action']=="検出")
    122. {
    123. $funre=$_POST [ 'funame']." サポート:".getfunexists($_POST['funame']);
    124. }
    125. elseif($_POST['action']=="検出 1")
    126. {
    127. $pmre =$_POST ['pm']." サポート ステータス: ".getvar($_POST['pm']);
    128. }
    129. //Zend Optimizer のバージョンを取得します。メソッドは台無しになった PHP プローブを参照します
    130. 関数 checkoptimizer ()
    131. {
    132. $url= "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."?action=phpinfo";
    133. $htmlct=file_get_contents($url);
    134. eregi ("オプティマイザー  ;v(.*), Copyright", $htmlct, $regs);
    135. $optimizerversion=$regs[1];
    136. $optimizerversion=(''!=$optimizerversion)?$optimizerversion:"< ;フォントの色=red>取得に失敗しました!";
    137. return $optimizerversion;
    138. }
    139. //php.ini 設定パラメータを取得します。iProber
    140. function getvar($varname) を参照してください
    141. {
    142. switch($var=get_cfg_var($varname)?get_cfg_var( $ varname):ini_get($varname))
    143. {
    144. ケース 0:
    145. リターン オフ;
    146. ブレーク;
    147. ケース 1:
    148. リターン オン;
    149. ブレーク;
    150. デフォルト:
    151. return $var;
    152. ブレーク;
    153. }
    154. }
    155. / /関数定義を判定
    156. function getfunexists($funame)
    157. {
    158. return (false !== function_exists($funame))?on:off;
    159. }
    160. //整数演算テスト
    161. function test_int()
    162. {
    163. $startime =getmicrotime();
    164. for($i = 0; $i {
    165. $t = 1+1;
    166. }
    167. $endtime=getmicrotime();
    168. $time=round($ endtime-$startime,4);
    169. return $time;
    170. }
    171. //浮動小数点演算テスト
    172. function test_float()
    173. {
    174. $startime=getmicrotime();
    175. for($i = 0; $i {
    176. sqrt($t);
    177. }
    178. $endtime=getmicrotime();
    179. $time=round($endtime-$startime,4);
    180. return $time;
    181. }
    182. //IO能力テスト
    183. function test_io()
    184. {
    185. $fp = fopen($_SERVER['PHP_SELF'], "r");
    186. $startime=getmicrotime();
    187. for($i = 0; $i {
    188. fread($fp, 10240);
    189. rewind($fp);
    190. }
    191. $endtime=getmicrotime();
    192. $time=round($endtime-$startime,4);
    193. return $ time;
    194. }
    195. //ディスク情報を取得します。disk_x_space("y") のパラメーターは変数を使用できません。ここでは @ は機能しません
    196. $diskct=0;
    197. $disk=array();
    198. /*if(@disk_total_space ( "A:")!=NULL) *サーバーへの影響を防ぐため、フロッピー ドライブはチェックされていません - Ajiang 氏の発言
    199. {
    200. $diskct=1;
    201. $disk["A"]=round((@disk_free_space(" A: ")/(1024*1024*1024)),2)."G / ".round((@disk_total_space("A:")/(1024*1024*1024)),2).' G' ;
    202. }*/
    203. $diskz=0; //総ディスク容量
    204. $diskk=0; //残りのディスク容量
    205. if(@disk_total_space("B:")!=NULL)
    206. {
    207. $diskct++;
    208. $ disc["B"][0]=round(@disk_free_space("B:")/(1024*1024*1024),2).'G';
    209. $disk["B"][1]= round( @disk_total_space("B:")/(1024*1024*1024),2).'G';
    210. $disk["B"][2]=round(((@disk_free_space("B:") /( 1024*1024*1024))/(@disk_total_space("B:")/(1024*1024*1024)))*100,2).'%';
    211. $disk+=round((@disk_free_space(" B: ")/(1024*1024*1024)),2);
    212. $diskz+=round((@disk_total_space("B:")/(1024*1024*1024)),2);
    213. }
    214. if( @disk_total_space ("C:")!=NULL)
    215. {
    216. $diskct++;
    217. $disk["C"][0]=round((@disk_free_space("C:")/(1024*1024*1024)) ,2 ).'G';
    218. $disk["C"][1]=round((@disk_total_space("C:")/(1024*1024*1024)),2).'G';
    219. $ disc[ "C"][2]=round(((@disk_free_space("C:")/(1024*1024*1024))/(@disk_total_space("C:")/(1024*1024*1024)) )* 100,2).'%';
    220. $diskk+=round((@disk_free_space("C:")/(1024*1024*1024)),2);
    221. $disk+=round((@disk_total_space(" C: ")/(1024*1024*1024)),2);
    222. }
    223. if(@disk_total_space("D:")!=NULL)
    224. {
    225. $diskct++;
    226. $disk["D"][0 ]=round((@disk_free_space("D:")/(1024*1024*1024)),2).'G';
    227. $disk["D"][1]=round((@disk_total_space("D :" )/(1024*1024*1024)),2).'G';
    228. $disk["D"][2]=round(((@disk_free_space("D:")/(1024*1024* 1024) )/(@disk_total_space("D:")/(1024*1024*1024)))*100,2).'%';
    229. $diskk+=round((@disk_free_space("D:")/( 1024* 1024*1024)),2);
    230. $disk+=round((@disk_total_space("D:")/(1024*1024*1024)),2);
    231. }
    232. if(@disk_total_space("E: ") !=NULL)
    233. {
    234. $diskct++;
    235. $disk["E"][0]=round((@disk_free_space("E:")/(1024*1024*1024)),2).'G ';
    236. $disk["E"][1]=round((@disk_total_space("E:")/(1024*1024*1024)),2).'G';
    237. $disk["E"] [2 ]=round(((@disk_free_space("E:")/(1024*1024*1024))/(@disk_total_space("E:")/(1024*1024*1024)))*100,2) .' %';
    238. $diskk+=round((@disk_free_space("E:")/(1024*1024*1024)),2);
    239. $disk+=round((@disk_total_space("E:")/( 1024* 1024*1024)),2);
    240. }
    241. if(@disk_total_space("F:")!=NULL)
    242. {
    243. $diskct++;
    244. $disk["F"][0]=round((@ disc_free_space( "F:")/(1024*1024*1024)),2).'G';
    245. $disk["F"][1]=round((@disk_total_space("F:")/(1024 *1024 *1024)),2).'G';
    246. $disk["F"][2]=round(((@disk_free_space("F:")/(1024*1024*1024))/(@ disc_total_space( "F:")/(1024*1024*1024)))*100,2).'%';
    247. $diskk+=round((@disk_free_space("F:")/(1024*1024*1024) ), 2);
    248. $disk+=round((@disk_total_space("F:")/(1024*1024*1024)),2);
    249. }
    250. if(@disk_total_space("G:")!=NULL)
    251. {
    252. $diskct++;
    253. $disk["G"][0]=round((@disk_free_space("G:")/(1024*1024* 1024)),2).'G';
    254. $disk["G"][1]=round((@disk_total_space("G:")/(1024*1024*1024)),2).'G' ;
    255. $diskk+=round((@disk_free_space("G:")/(1024*1024*1024)),2);
    256. $disk+=round((@disk_total_space("G:")/(1024*1024* 1024)),2);
    257. }
    258. if(@disk_total_space("H:")!=NULL)
    259. {
    260. $diskct++;
    261. $disk["H"][0]=round((@disk_free_space("H :")/(1024*1024*1024)),2).'G';
    262. $disk["H"][1]=round((@disk_total_space("H:")/(1024*1024*1024 )),2).'G';
    263. $diskk+=round((@disk_free_space("H:")/(1024*1024*1024)),2);
    264. $disk+=round((@disk_total_space("H :")/(1024*1024*1024)),2);
    265. }
    266. if(@disk_total_space("I:")!=NULL)
    267. {
    268. $diskct++;
    269. $disk["I"][0] =round((@disk_free_space("I:")/(1024*1024*1024)),2).'G';
    270. $disk["I"][1]=round((@disk_total_space("I: ")/(1024*1024*1024)),2).'G';
    271. $diskk+=round((@disk_free_space("I:")/(1024*1024*1024)),2);
    272. $diskz+ =round((@disk_total_space("I:")/(1024*1024*1024)),2);
    273. }
    274. if(@disk_total_space("J:")!=NULL)
    275. {
    276. $diskct++;
    277. $ disc["J"][0]=round((@disk_free_space("J:")/(1024*1024*1024)),2).'G';
    278. $disk["J"][1]= round((@disk_total_space("J:")/(1024*1024*1024)),2).'G';
    279. $diskk+=round((@disk_free_space("J:")/(1024*1024*1024 )),2);
    280. $diskz+=round((@disk_total_space("J:")/(1024*1024*1024)),2);
    281. }
    282. if(@disk_total_space("K:")!=NULL )
    283. {
    284. $diskct++;
    285. $disk["K"][0]=round((@disk_free_space("K:")/(1024*1024*1024)),2).'G';
    286. $disk ["K"][1]=round((@disk_total_space("K:")/(1024*1024*1024)),2).'G';
    287. $diskk+=round((@disk_free_space("K: ")/(1024*1024*1024)),2);
    288. $diskz+=round((@disk_total_space("K:")/(1024*1024*1024)),2);
    289. }
    290. if(@disk_total_space ("L:")!=NULL)
    291. {
    292. $diskct++;
    293. $disk["L"][0]=round((@disk_free_space("L:")/(1024*1024*1024)),2 ).'G';
    294. $disk["L"][1]=round((@disk_total_space("L:")/(1024*1024*1024)),2).'G';
    295. $diskk+= round((@disk_free_space("L:")/(1024*1024*1024)),2);
    296. $diskz+=round((@disk_total_space("L:")/(1024*1024*1024)),2 );
    297. }
    298. ?>
    299. PHP探针_B-Check
    300. B-Check
    301. | 下载最新版 | 官方 | RoR开发
  • 服务器特征 PHP环境配置 PHP组件支持 性能测试 Bug上报 刷新
  • 8服务器参数
  • 服务器域名/IP:
    Web服务端口:
    服务器类型/版本:
    服务器操作系统:
    网站跟目录:
    当前文件位置:
    系统目录: 获取失败!"; ?> 点击此处查看提示信息
  • Path:获取失败!"; ?>
  • TEMP:获取失败!"; ?>
  • PATHEXT:获取失败!"; ?>
  • 处理器(CPU)信息: 获取失败!"; ?> 点击此处查看提示信息
  • 从左至右分别表示Type(类型)、Family(系列)、Mode(型号)、Stepping(步进编号)和Brand ID(品种标识),一般CPU都有Brand ID,如果CPU不是非常老的话。你可以通过Brand ID(品种标识)来判断服务器CPU是什么型号档次的,具体怎么判断你可以去百度或百度知道搜索!在此不细说明!
  • 处理器(CPU)个数: 点击此处查看提示信息
  • 逻辑处理器个数,IDC客服的话的可信度没有上面这个数字的可信度高。但如果上面的数是16,在以后的几年里你最好别相信那是真的。如果是... 32...(开个玩笑)
  • 服务器时间:
    磁盘空间信息:
  • 0) {?>
  • $value){ ?>
  • 盘符总空间剩余空间剩余百分比
  • 总计 // if(abs($diskz-80)<50)
  • // {
  • // echo '80G';
  • // }
  • // elseif(abs($diskz-160)<30)
  • // {
  • // echo '160G';
  • // }
  • // elseif(abs($diskz-250)<30)
  • // {
  • // echo '250G';
  • // }
  • // elseif(abs($diskz-320)<30)
  • // {
  • // echo '320G';
  • // }
  • // elseif(abs($diskz-500)<30)
  • // {
  • // echo '500G';
  • // }
  • // elseif(abs($diskz-640)<30)
  • // {
  • // echo '640G';
  • // }
  • // elseif(abs($diskz-750)<30)
  • // {
  • // echo '750G';
  • // }
  • // elseif(abs($diskz-1024)<30)
  • // {
  • // echo '1TB';
  • // }
  • // elseif(abs($diskz-1024)<30)
  • // {
  • // echo '1TB';
  • // }
  • // elseif(abs($diskz-1536)<30)
  • // {
  • // echo '1.5TB';
  • // }
  • // elseif(abs($diskz-2048)<30)
  • // {
  • // echo '2TB';
  • // }
  • echo $diskz; ?>G
  • %

  • 声明:只能探测盘符为大写字母A-L的磁盘,且有权限获取!
  • 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
  • 8PHP组件支持情况
  • mysqlデータベース库: 图形处理 GD 库:
    SQL Serverデータベース库: PDF文档サポート:
    Oracleデータベース库: FDF文档サポート:
    Oracle 8 データベース库: セッションサポート:
    mSQL数据库: ソケットサポート:
    SyBaseデータベース库: XML 解析サポート:
    Postgre SQL データベース库: FTP サポート:
    Informix数据库: ODBCデータベース库连接:
    Hyperwave数据库: 压缩文件サポート(Zlib):
    FilePro数据库: イエローページ系:
    DBMデータベース库: SNMP网络管理协议:
    DBA数据库: WDDX支持:
    dBase数据库: 拼写检查 ASpell Library:
    IMAP电子邮件系统: 历法运算 Calendar:
    VMailMgr邮件处理: LDAP目录协议:
    MCrypt加密处理: PREL相容语法 PCRE:
    高精度数学运算 BCMath: 哈稀计算 MHash:
    所有已编译模块:
  • $able=get_loaded_extensions();
  • foreach ($able as $key=>$value) {
  • if ($key!=0 && $key%13==0) {
  • echo '
    ';
  • }
  • echo "$value ";
  • }
  • ?>
  • < tr>
  • 8サーバーパフォーマンステスト
  • < td width="148" class="vr">整数演算能力テスト
  • (1+1演算300万回)
  • < td class="center">0.2112 秒
  • < ;/tr>
  • 検出オブジェクト 浮動小数点演算能力テスト
  • (平方根300万回)
  • データI/O能力テスト
  • (ReadKファイル 300,000 回)
  • 3 番目に大きいコンピューター南部 (AMD4000+ 1G) 0.3502 秒 0.3591 秒 0.0394 秒
    92 浙江省 VIP 10 人で共有 共有スペース 0.2240 秒0.0225 秒
    使用されているサーバー ".$ts_int."<"; ?> 秒
    "; ?> 秒
    ".$ts_io."< ;/b>"; ?> 秒
  • ネットワーク速度テスト:
  • < input name="action" type="submit" class="gbutton" value="テストを開始します" />

  • (100k バイトのデータをクライアントに送信します)
  • 1M 2M ADSL 10M LAN
  • {
  • echo "0";
  • }
  • else{
  • echo 500*$speed/(1024*4);
  • }
  • ?>">
  • {
  • echo "500";
  • }
  • else{
  • echo 500-500*$speed/(1024*4);
  • }
  • ?>"> kb/s
  • ".$_GET['speed']."毫秒":" 未探测 " ?>
  • }
  • if("show"==$mysqlReShow){
  • ?>
  • 8自定义测试项目
    Myslq数据库连接测试
    Mysql服务器: Mysql用户名:
    Mysql密码: Mysql数据库名称:
    点击此处查看提示信息
  • 服务器Mysql版本: 如果数据库连接失败,将无法探测该项!
  • MAIL邮件发送测试
    测试邮件发送到:
    函数支持检测
    探测的函数名:
    PHP配置(php.ini)检测
    探测的参数名:
  • Bug上报:
  • $pagendtime=getmicrotime();
  • $pagetime=round($pagendtime-$pagestartime,5);
  • ?>
  • PHP Logo !
  • Zend Logo !
  • Production   Ruby Hobby へようこそ: www.rubyfans.com< ;/a> ;  Ruby on Rails 開発
  • 本番プラットフォーム :WinXP   ; Apache v2.0.63  PHP v5.2.6   Mysql v5.0.51b  今すぐ学び、今すぐ販売
  • バージョン:< ;?php echoバージョン; >   完了時間:
  • ページの実行時間
  • PHP をダウンロード MySQL をダウンロード Zend Optimizer をダウンロード
  • < td class="td1" width="173">Apache をダウンロード
  • コードをコピー
  • PHPプローブ
    関連ラベル:
    ソース:php.cn
    前の記事:ツリーを横断する方法 2 次の記事:PHP は、データ表示、テキスト データベースの追加、変更、削除、クエリの 5 つの基本操作を実装します。
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    著者別の最新記事
    最新の問題
    関連トピック
    詳細>
    人気のおすすめ
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート