* 1. このプログラムは、div+css チュートリアルの新しいアーキテクチャ php プローブに基づいており、強力な機能、明確な構造、および無料のオープンソース フリー ソフトウェアです。使いやすい。
1. Windows、Linux、UNIX、freebsd、Sun Solar System をサポートします。
2. IE6、IE7、Firefox、Google Chrome およびその他のブラウザをサポートします。
2. 主な用途と適用対象:
1. PHP プログラミングに精通したアマチュアおよびプロの開発者。
2. コンピュータ室の管理者は、Linux (Windows) + php + mysql チュートリアル + zend システム環境を構成し、システムが正常に構成されているかどうかを確認します。
3. 仮想ホストを購入したユーザーは、サーバーのパフォーマンスをテストするために使用されます。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
/////// /////////////次の 2 つの変数を変更および構成できます
//このプローブを検証に使用している場合は、次の変数に関連情報を入力できます (変数の下部に表示されます)ページ
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("yes", "√ span>");
define("no", "×");
//============================================== === ==================
define("icon", "2 ");
$phps チュートリアル elf = $_server[php_self] ? $_server[php_self] : $_server[script_name];
define("phpself", preg_replace("/(.{0,}?/+)/", "", $phpself) )
$valint $valint $valint = .act'] == "io test")
{
$valio = test_io();
}
elseif($_post['act'] == "接続")
{
$mysqlreshow = "表示";
$ mysqlre = "MySQL 接続テスト結果:";
$ mysqlre. = (false! == @mysql_connect ($ _ Post ['mysqlhost'], $ _post [' mysqluser'], $ _post ['mysqlpasswordwordwordwordword'])? "?" mysql サーバー接続は正常です。 ":"mysql サーバー接続に失敗しました。 ";
" $mysqlre .= "データベース チュートリアル".$_post[ 'mysqldb']." ";
" $mysqlre .= (false != @mysql_select_db($_post['mysqldb']))?"接続 OK":"接続に失敗しました";
}
elseif ($_post['act'] == "sendmail")
{
$mailreshow = "表示";
$ Mailre = "MAIL メール送信テスト結果: 送信"; ($ _ Post ["MailReceiver"], "Uenuprobe Mail Server Test.", "このメールは uenuprobe.rnrnrnrnrncopyright uenucomrnhttp://www.uenu.com" によって送信されました。))?"Complete":"Failed";
}
elseif($_post['act'] == "function_check")
{
$ funreshow = "show";
$funre = "Function".$_post['funname']." b>サポートステータス検出結果: ".isfun($ _ funname ']); getcon($_post['opname']);
}
//======================== ========= ========================================
//====== ================================================ ===================
スイッチ (php_os)
{
case "linux":
$sysreshow = (false != ($sysinfo = sys_linux()))? "show":"none";
ブレーク;
case "freebsd":
$sysreshow = (false != ($sysinfo = sys_freebsd()))?"show":"none";
ブレーク;
case "windows ":
//$sysreshow = (false != ($sysinfo = sys_windows()))?"show":"none";
$sysinfo['uptime'] = 申し訳ありませんが、Windows システムはサポートされていません ";
" ブレーク;
" デフォルト:
ブレーク;
" }
"
//=============================== ========================================
?>
服务器情報< ;/span>
switch($_get['action']){
case '':
?>
服务器特征 |
---|
服务器时间 |
(格林威治标准时间) (北京时间) |
服务器域名 |
$_server[server_name]"); ?> |
服务器ip地址 |
|
服务器操作系统 |
if ($os[0] =="windows") {echo "主机名称:".$os[2];} else {echo "内核版本:".$os[2];}?> |
服务器运行时间 |
|
服务器操作系统文字编码 |
|
服务器解译引擎 |
|
web服务端口 |
|
服务器管理员 |
|
本文件路径 |
|
服务端剩余空间 |
|
系统当前用户名 |
|
服务器处理器
cpu个数:
服务器处理器
cpu个数:
内存使用状况
m, 已使用
m, 空闲
m, 使用率
%
swap区
共m, 已使用
m, 空闲
m, 使用率
%
系统平均负载
break;
case 'phpinfo':
?>
php基本特征 |
---|
php版本 |
|
php运行方式 |
|
支持zend编译运行 () |
|
运行于安全模式 |
|
自动定义全局变量 register_globals |
|
允许使用url打开文件allow_url_fopen |
|
允许动态加载链接库enable_dl |
|
显示错误信息 display_errors |
|
短标记<? ?>支持 |
|
标记<% %>支持 |
|
cookie支持 |
|
session支持 |
|
浮点运算有效数字显示位数 |
|
强制y2k兼容 |
|
被禁用的函数disable_functions |
if($disused =="1") {echo '">'."more".'';} else {echo "none";}?> |
程序最长运行时间max_execution_time |
|
プログラムが使用できるメモリの最大量memory_limit |
|
| |
アップロードできるファイルの最大数 upload_max_filesize |
| < ;td>php 情報 phpinfo
phpinfo"?> |
htmlエラー表示< / td> | |
デバッガーアドレス/ポート |
< ;
smtpサポート |
|
smtp アドレス |
| /tr>
break;
case 'otherinfo':
?>
php コンポーネントのサポート状況 th>
< ;/tr>
スペルチェック aspell ライブラリ |
|
高精度数学演算 bcmath |
|
カレンダー操作カレンダー |
|
グラフィック処理 gd ライブラリ |
td>
|
クラス/オブジェクトのサポート |
| 文字列型検出のサポート |
|
iconv エンコーディングのサポート |
|
mcrypt 暗号化処理サポート |
|
< tr>
ハッシュ計算 mhash |
|
openssl サポート |
< ;?php echo function_exists(openssl_open)?yes:no;?> |
prel 互換の文法 pcre |
|
正则扩展(兼容perl)サポート |
< ?php echo function_exists(preg_match)?yes:no;?> |
ソケットサポート |
< ?php echo function_exists(fsockopen)?yes:no;?> |
ストリームメディアサポート |
|
トークナイザーサポート |
|
urlサポート |
|
wddx サポート (Web 分散データ交換) |
|
压缩文件サポート(zlib) |
|
<解析 ;/tr>
xml |
|
< ;td>ftp
|
| |
イエローページ系统サポート |
|
php和java综合サポート |
|
imap電子邮件系统サポート |
|
snmp网络管理协议サポート< /td> | |
vmailmgr邮件处理サポート |
< ;?php echo function_exists(vm_adduser)?yes:no;?> |
pdf文档サポート |
|
fdf表单资料格式サポート |
|
break;
case 'dbinfo':
?>
データベース库サポート状態况
|
mysqlデータベース库サポート |
|
mysql数据库持续连接 | |
mysql最大接続数 |
|
odbc数据库连接 |
|
sqlサーバーデータベース库サポート |
|
msql数据库サポート |
|
postgre sql数据库サポート |
|
oracleデータベース库サポート |
|
< /tr>
oracle 8 データ库サポート |
|
dbaseデータベース库サポート |
|
sybaseデータベース库サポート |
|
dbaデータベース库サポート< /td> | |
dbm数据库サポート< ;/td> | |
dbx数据库サポート |
< ;?php echo function_exists(dbx_close)?yes:no;?> |
db++数据库サポート |
|
frontbaseデータベース库サポート |
|
filepro数据库サポート |
|
informixデータベース库サポート |
< /td>
|
lotus Notes数据库サポート |
|
interbaseデータベース库サポート |
|
ingres数据库サポート |
|
| |
< td>ovrimos sql数据库连接サポート
|
sesamデータベース库连接続サポート< /td> | |
sqliteデータベース库连接サポート |
|
adabas d数据库连接支持 |
|
break;
case 'testinfo':
?>
$ismysql = (false !== function_exists("mysql_query"))?"":" disabled";
$ismail = (false !== function_exists("mail"))?"":" disabled";
?>
break;
}?>
/*=========================== =================================
関数ライブラリ
============= = ===============================================** /
/*----------------------------------------------- --- --------------------------------------------------- --- ------------------------
検知機能対応
---------------------------- --- --------------------------------------------------- --- ------------------------*/
function isfun($funname)
{
return (false !== function_exists($ funname) )?はい:いいえ;
}
/*------------------------------------- ----- -------------------------------------- ----- --------------------
PHP 設定パラメータの検出
------ -------------------------------------------------------- -------------------------------------------------------- */
function getcon($varname)
{
switch( $res = get_cfg_var($varname))
/*---------- ------------------------ ------------------------ ------------------------ ----------
整数演算能力テスト
-------- ------------------------ ------------------------ ------------------------ ------------------------ ---*/
関数 test_int() ----------------------------*/ 0; ; = 3000000; $ i ++);
{
$ t = 1+1;
$ Timend = Gettimeofday(); $timeend["sec"]-$timestart["sec "];
$time =round($time, 6)."秒";
---------------------------- -------------------- ------------------------------ -------------------- --------
浮動小数点演算能力テスト
--------------- ------------------- ------------------------------- ------------------- ------------------------*/
関数 test_float ()
for($i = 0; $i < 3000000; $i++); = ($timeend["usec"]- $timestart["usec"])/1000000+$timeend["sec"]- $timestart["sec"];
$time =round($time, 6)."秒"
/*----------- ------------------------ ----------------------------- ------------------------ ------------------------
データIO能力テスト
---- ------------------------ ----------------------------- ------------------------ ----------------------------- ------*/
function test_io()
{
$fp = @fopen(phpself, "r") ;
$timestart = gettimeofday();
);
}
$timeend = gettimeofday();
timestart["sec"];
開始時間 ----------------------------- --------------------- ---------------------------- ----------
プロポーションバー
-- ----------------------- ----------------------------------------------------- ------------------------- --------*/
関数バー($パーセント)
{
echo '< ;br/>
- ";
echo '
< ;/ul>';
}
/*----- ----------------------- ----------------------------------------------------- -------------------------
さまざまなシステムに応じて CPU 関連情報を取得する 情報
----------- ------------------------------------ -------------- ------------------------------------ ------------*/
switch(php_os) {
case "linux":
$sysreshow = (false !== ($sysinfo = sys_linux()))?"show":" none";
Break;
case "freebsd":
$ sysreshow = (false !== ($sysinfo = sys_freebsd()))?"show":"none";
Break;
case "winnt":
$ sysreshow = (false !== ($sysinfo = sys_windows() ))?"show":"none";
ブレーク;
デフォルト:
ブレーク;
}
/*----------------------------------------------- -------------------------------------------------- ------------
システム统パラメータ探测 linux
-------------------------------- -------------------------------------------------- ----------------------------*/
function sys_linux()
{
// cpu
if (false === ($ str = @file("/proc/cpuinfo"))) return false;
$str = implode("", $str);
@preg_match_all("/models+names{0,}:+s{0,} ([ws)(.]+)[rn]+/", $str, $model);
//@preg_match_all("/cpus+mhzs{0,}:+s{0,}([d.] +)[rn]+/", $str, $mhz);
@preg_match_all("/caches+sizes{0,}:+s{0,}([d.]+s{0,}[a-z]) +[rn]+)/", $str, $cache);
if (false !== is_array($model[1]))
{
$res['cpu']['num'] = sizeof( $model[1]);
for($i = 0; $i < $res['cpu']['num']; $i++)
{
$res['cpu']['detail'] [] = "类型:".$model[1][$i]." 缓存:".$cache[1][$i];
}
if (false !== is_array($res['cpu' ]['detail'])) $res['cpu']['detail'] = implode("
", $res['cpu']['detail']);
}
// 稼働時間
if (false === ($str = @file("/proc/uptime"))) return false;
$str =explode(" ", implode("", $str));
$ str = トリム($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['稼働時間' ] = $days."天";}
if ($hours != 0) {$res['uptime'] .= $hours."小時間";}
$res['uptime'] .= $min. "分钟";
// メモリ
if (false === ($str = @file("/proc/meminfo"))) return false;
$str = implode("", $str);
preg_match_all ("/memtotals{0,}:+s{0,}([d.]+).+?memfrees{0,}:+s{0,}([d.]+).+?swaptotals{0 ,}:+s{0,}([d.]+).+?swapfrees{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;
// 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)
}
/*--------- ------------------------ ---------------------------- ------------------------ ------------------------
システムコマンド freebsd を実行します
- -------------------------------- ------------------ -------------------------------- ------------------ --------------*/
function do_command($commandname, $args)
{
$buffer = ""; if (false === ($command = find_command($commandname ))false;($ fp))$ fp -------------------------------------- -------------------------------------------------------- -------------- --
システムパラメータ検出ウィンドウ
---------------------------- ----------------- --------------------------------- ----------------- ------------------*/
関数 sys_windows()
{
//$phpos= php_os;
$sysinfo['uptime'] = 申し訳ありませんが、Windows システムではサポートされていません ";
}
?>
http://www.bkjia.com/PHPjc/444855.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/444855.html
技術記事
PHP チュートリアル ニードル コントロール (サーバーの詳細を表示) / *1. このプログラムは、div+css チュートリアルの新しいアーキテクチャ PHP プローブに基づいており、強力な機能、明確な構造、そして使いやすい、無料のオープンソース フリー ソフトウェアです。 .