php 显示探针_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;$i<=1000;$i++){
echo "";
}
?>
}
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 < 3000000; $i++);
{
$t = 1+1;
}
$endtime=getmicrotime();
$time=round($endtime-$startime,4);
return $time;
}
//浮点数运算测试
function test_float()
{
$startime=getmicrotime();
for($i = 0; $i < 3000000; $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 < 300000; $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
服务器域名/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
echo $diskk.'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():
mysql数据库:
图形处理 GD 库:
SQL Server数据库:
PDF文档支持:
Oracle数据库:
FDF文档支持:
Oracle 8 数据库:
Session支持:
mSQL数据库:
Socket支持:
SyBase数据库:
XML解析支持:
Postgre SQL数据库:
FTP支持:
Informix数据库:
ODBC数据库连接:
Hyperwave数据库:
压缩文件支持(Zlib):
FilePro数据库:
Yellow Page系统:
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 ";
}
?>
8服务器性能测试
检测对象
整数运算能力测试
(1+1运算300万次)
浮点运算能力测试
(开平方300万次)
数据I/O能力测试
(读取K文件30万次)
南方第三的电脑(AMD4000+ 1G)
0.3502 秒
0.3591 秒
0.0394 秒
92合租浙江贵宾10人合租空间
0.2112 秒
0.2240 秒
0.0225 秒
正在使用的这台服务器
".$ts_int.""; ?> 秒
".$ts_float.""; ?> 秒
".$ts_io.""; ?> 秒
网络速度测试:
(向客户端传送 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']."毫秒":"未探测" ?>
8自定义测试项目
Myslq数据库连接测试
Mysql服务器:
Mysql用户名:
Mysql密码:
Mysql数据库名称:
}
if("show"==$mysqlReShow){
?>
服务器Mysql版本: 如果数据库连接失败,将无法探测该项!
MAIL邮件发送测试
测试邮件发送到:
函数支持检测
探测的函数名:
PHP配置(php.ini)检测
探测的参数名:
Bug上报:
$pagendtime=getmicrotime();
$pagetime=round($pagendtime-$pagestartime,5);
?>
" alt="PHP Logo !" />
" alt="Zend Logo !" />
制作平台:WinXP Apache v2.0.63 PHP v5.2.6 Mysql v5.0.51b 现学现卖
版本: 完成时间:
页面执行时间秒
php 显示探针_php 探针相关推荐
- php修改新闻分类代码,新闻分类录入、显示系统_php
本系统可以录入标题.内容.图片.相关软件,显示时会根据是否有有图片和相关软件来判断是否显示该项内容,打开页面显示的是最新的一片文章,点击目录会显示之前的文章. 建立channelimages和chan ...
- Wi-Fi 探针 - 智能探针 - 探针盒子 -> 危害用户信息安全
Wi-Fi 探针 - 智能探针 - 探针盒子 -> 危害用户信息安全 Wi-Fi 探针 - 智能探针 - 探针盒子自动收集消费者信息,危害用户信息安全.一定要注意关闭手机 Wi-Fi,不要轻易信 ...
- php 检测服务器网速_PHP探针推荐:检测服务器环境好帮手
PHP探针是一种Web脚本程序,实质上是通过PHP语言实现探测PHP服务器敏感信息的脚本文件,通常用于探测网站目录.服务器操作系统.PHP版本.数据库版本.CPU数量.Session超时时间.服务器S ...
- 简单的php探针,php探针程序的推荐
在我们之前的文章已经为大家介绍了什么是php探针,以及他的主要作用是什么,如果你接触了cms或许就会有点了解,当然,不要紧,看完这篇就知道php探针是做什么的了. php探针通常是用来探测空间.服务器 ...
- Kubernetes 三大探针及探针方式
一.探针背景介绍 1.编排工具运行时,虽说pod挂掉会在控制器的调度下会重启,出现pod重启的时候,但是pod状态是running,无法真实的反应当时pod健康状态,我们可以通过Kubernetes的 ...
- linux探针,存活探针(Liveness)、就绪探针(Readiness)、启动探针(Startup)、容器钩子
一.探针 1.1.探针类型 LivenessProbe 用于判断容器是否存活(running状态),如果LivenessProbe探针探测到容器不健康,则kubelet杀掉该容器,并根据容器的重启策略 ...
- android 探针工具,探针营app下载-探针营 安卓版v1.0.0-PC6安卓网
探针营app是一款好用的球鞋资讯软件,探针营app专注潮流好鞋,拥有潮鞋发售时间预警功能,还有潮鞋清单.潮流资讯,用户在探针营app上可以更好进行潮鞋抢购. 软件介绍 探针营让你随时掌握最新的球鞋发售 ...
- 多达4000种应用签名识别的移动网络探针|DPI探针
文章目录 定义 简介 主要功能/优点 产品内部功能 典型应用 了解更多网络可视化知识 定义 探针是一种被动设备,它接收来自TAP和网络包代理的网络流量,并提取元数据. 简介 虹科提供了新一代大数据智能 ...
- 计算机网络探针,基于探针技术网络安全审计系统NetworkS.PDF
广西科学院学报 , (): 暋 2016321 49~53 , JournalofGuanxiAcadem ofSciences暋 Vol.32No.1暋Februar2016 g y y 网络优先数 ...
- java 类似 黑针探针_java探针技术I——如何写一个 java agent
开发工具 Intellij Idea 2019 maven 3 开始吧 java 探针不依赖于任何框架,所以首先我们创建一个 maven 项目即可. 创建启动类 新增一个 SartUp 的启动类 pu ...
最新文章
- delphi xls 线程_锐龙9 5950X怒超近6GHz!关键是16核心32线程全开-锐龙,锐龙9 5950X,超频 ——快科技(驱动之家旗下媒体)-...
- Ubuntu 中启用 root 帐号
- python 概率分布_python实现概率分布
- 51芯片4*4列阵按键c语言程序,单片机城中社稷.doc
- 详述 IntelliJ IDEA 插件的安装及使用方法
- 神奇的幻方(洛谷P2615题题解,Java语言描述)
- 汇编语言mul指令_跟着开源软件学汇编语言:计算器
- 解决混合模式程序集在VS2010 .net 4.0 环境下调试出错的方法。
- k means sse python_python实现kMeans算法
- 手工打造迅雷9超精简版
- 计算机中冰点还原快捷键,冰点还原软件如何使用,教您如何使用冰点还原软件...
- 学生用计算机怎么玩俄罗斯方块,计算机专业项目二 俄罗斯方块
- Fedora Core 6安装手册
- peewee-async使用描述
- Navicat迁移表数据 一
- iphone相册储存空间已满_iphone可用存储空间已满?教你快速回收存储空间
- Vmware虚拟机的介绍
- 机器学习之必备知识篇
- 二叉树系列二:二叉树的层序遍历(BFS)
- installshield 10.5 使用介绍 及 中文快捷图标的显示问题
热门文章
- linux ora -03113,ORA-03113解决方法
- Django下载安装及创建项目
- 布谷鸟算法的一些个人整理
- [知了堂学习笔记]_IO流之File类的应用
- 电信基站大区对应表_铁塔基站直流电能表 直流计量表
- InVEST模型(工具)下载及安装(更新中)
- 计算机未来职业人生规划目标与行动措施,计算机职业规划书1500字
- R语言:多因素Cox回归森林图 (基于forestplot包) 森林图 cox可视化
- K3路由器官改V2.1D设置定时重启
- 《运算放大器权威指南(Op Amps for Everyone)》读书笔记(一)