phpnow php探针环境检测代码


Posted in PHP onNovember 04, 2014
<?php
/*
 http://phpnow.org
 YinzCN_at_Gmail.com
*/

error_reporting(E_ALL);

define('TimeZone', +8.0);

function _GET($n) { return isset($_GET[$n]) ? $_GET[$n] : NULL; }
function _SERVER($n) { return isset($_SERVER[$n]) ? $_SERVER[$n] : '[undefine]'; }

if (_GET('act') == 'phpinfo') {
 if (function_exists('phpinfo')) phpinfo();
 else echo 'phpinfo() has been disabled.';
 exit;
}

$Info = array();
$Info['php_ini_file'] = function_exists('php_ini_loaded_file') ? php_ini_loaded_file() : '[undefine]';

if (_GET('act') == 'getip') {
 $i = _SERVER('SERVER_NAME').'|'._SERVER('REMOTE_ADDR').'|'._SERVER('SERVER_SOFTWARE').'|'.(function_exists('mysql_close')?mysql_get_client_info():'').'|'._SERVER('DOCUMENT_ROOT');
 $c = @file_get_contents('http://phpnow.org/myip.php?'.base64_encode($i));
 if (preg_match('/^\d+\.\d+\.\d+\.\d+$/', $c) == 1) echo $c;
 else echo 'false';
 exit;
}

function colorhost() {
 $c = array('#87cefa', '#ffa500', '#ff6347', '#9acd32', '#32cd32', '#ee82ee');
 $a = str_split(_SERVER('SERVER_NAME'));
 $k = $l = 0;
 foreach ($a as &$d) {
  while ($k==$l) $k = array_rand($c);
  $d = '<b style="color: '.$c[$k].';">'.$d.'</b>';
  $l = $k;
 }
 return implode('', $a);
}

function get_ea_info($name) { $ea_info = eaccelerator_info(); return $ea_info[$name]; }
function get_gd_info($name) { $gd_info = gd_info(); return $gd_info[$name]; }

define('YES', '<span style="color: #008000; font-weight : bold;">Yes</span>');
define('NO', '<span style="color: #ff0000; font-weight : bold;">No</span>');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>PHPnow Works!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="YinzCN" />
<meta name="reply-to" content="YinzCN@Gmail.com" />
<meta name="copyright" content="YinzCN" />
<style type="text/css">
<!--
body {
font-family : verdana, tahoma;
font-size : 12px;
margin-top : 10px;
}

form {
margin : 0;
}

table {
border-collapse : collapse;
}

.info tr td {
border : 1px solid #000000;
padding : 3px 10px 3px 10px ;
}

.info th {
border : 1px solid #000000;
font-weight : bold;
height : 16px;
padding : 3px 10px 3px 10px;
background-color : #9acd32;
}

input {
border : 1px solid #000000;
background-color : #fafafa;
}

a {
text-decoration : none;
color : #000000;
}

a:hover {
text-decoration : underline;
}

a.arrow {
font-family : webdings, sans-serif;
font-size : 10px;
}

a.arrow:hover {
color : #ff0000;
text-decoration : none;
}

.item {
white-space: nowrap;
text-align: right;
}
-->
</style>
<script type="text/JavaScript">
function $(id) { return document.getElementById(id); }

function get_ip() {
 var XMLHttp, r;
 XMLHttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
 XMLHttp.onreadystatechange = function() {
  if (XMLHttp.readyState == 4)
  {
   r = XMLHttp.responseText;
   if (r == 'false') $('ip_r').innerHTML = '获取外网 IP 失败!';
   else $('ip_r').innerHTML = '此服务器互联网 IP<br /><a href="http://'+r+'" style="color: #999999;">'+r+'</a>';
  }
 }
 XMLHttp.open("GET", "?act=getip", true);
 XMLHttp.send();
}
</script>
</head>
<body onload="get_ip();">
<div style="margin: 0 auto; width: 600px;">

<div style="height: 60px;">
 <div style="float: right; margin: 5px; text-align: center;">
  <div><a style="color: #ffa500;" href="http://phpnow.org/go.php?id=1005">为何只能本地访问?</a></div>
  <div id="ip_r" style="color: #999999;">正在获取 IP 地址</div>
 </div>

 <div style="float: left;">
  <div style="font-weight: bold; font-size: 2.2em;"><a href="<?=_SERVER('PHP_SELF')?>?" style="text-decoration: none;"><?=colorhost()?></a></div>
  <div style="margin: 5px auto;"># Let's <b style="color: #777BB4;">PHP</b> <b style="color: #FF4500;">now</b> <b>!</b></div>
 </div>
</div>

<br />

<table width="100%" class="info">
 <tr>
  <th colspan="2">Server Information</th>
 </tr>

 <tr>
  <td class="item">SERVER_NAME</td>
  <td><?=_SERVER('SERVER_NAME')?></td>
 </tr>

 <tr>
  <td class="item">SERVER_ADDR:PORT</td>
  <td><?=_SERVER('SERVER_ADDR').':'._SERVER('SERVER_PORT')?></td>
 </tr>

 <tr>
  <td class="item">SERVER_SOFTWARE</td>
  <td><?=stripos(_SERVER('SERVER_SOFTWARE'), 'PHP')?_SERVER('SERVER_SOFTWARE'):_SERVER('SERVER_SOFTWARE').' PHP/'.PHP_VERSION?></td>
 </tr>

 <tr>
  <td class="item">PHP_SAPI</td>
  <td><?=PHP_SAPI?></td>
 </tr>

 <tr>
  <td class="item" style="color: #ff0000;">php.ini</td>
  <td><?=$Info['php_ini_file']?></td>
 </tr>

 <tr>
  <td class="item">网站主目录</td>
  <td><?=_SERVER('DOCUMENT_ROOT')?></td>
 </tr>

 <tr>
  <td class="item">Server Date / Time</td>
  <td><?=gmdate('Y-m-d', time()+TimeZone*3600)?> <?=gmdate('H:i:s', time()+TimeZone*3600)?> <span style="color: #999999;">(<?=(TimeZone<0?'-':'+').gmdate('H:i', abs(TimeZone)*3600)?>)</span></td>
 </tr>

 <tr>
  <td class="item">Other Links</td>
  <td>
  <a href='<?=_SERVER('PHP_SELF')?>?act=phpinfo'>phpinfo()</a>
  | <?=file_exists('phpMyAdmin') ? '<a href="/phpMyAdmin">phpMyAdmin</a>' : '<a href="http://phpnow.org">PHPnow.org</a>'?>
  </td>
 </tr>
</table>

<hr />

<table width="100%" class="info">
 <tr>
  <th colspan="2">PHP 组件支持</th>
 </tr>

 <tr>
  <td class="item">Zend Optimizer</td>
  <td><?=defined('OPTIMIZER_VERSION') ? YES.' / '.OPTIMIZER_VERSION : NO?></td>
 </tr>

 <tr>
  <td class="item">MySQL 支持</td>
  <td><?=function_exists('mysql_close') ? YES.' / client lib version '.mysql_get_client_info() : NO?></td>
 </tr>

 <tr>
  <td class="item">GD library</td>
  <td><?=function_exists('gd_info') ? YES.' / '.get_gd_info('GD Version') : NO?></td>
 </tr>

 <tr>
  <td class="item">eAccelerator</td>
  <td><?=function_exists('eaccelerator_info') ? YES.' / '.get_ea_info('version') : NO?></td>
 </tr>
</table>

<hr />

<form method="post" action="<?=_SERVER('PHP_SELF')?>">
<table width="100%" class="info">
 <tr>
  <th colspan="4">MySQL 连接测试</th>
 </tr>

 <tr>
  <td>MySQL 服务器</td>
  <td><input type="text" name="mysqlHost" value="localhost" /></td>
  <td>MySQL 数据库名</td>
  <td><input type="text" name="mysqlDb" value="test" /></td>
 </tr>

 <tr>
  <td>MySQL 用户名</td>
  <td><input type="text" name="mysqlUser" value="root" /></td>
  <td>MySQL 用户密码</td>
  <td><input type="text" name="mysqlPassword" /></td>
 </tr>

 <tr>
  <td colspan="4" align="right"><input type="submit" value="连接" name="act" />  </td>
 </tr>
</table>
</form>

<?php if(isset($_POST['act'])) {?>
<br />

<table width="100%" class="info">
 <tr>
  <th colspan="4">MySQL 测试结果</th>
 </tr>

<?php
$link = @mysql_connect($_POST['mysqlHost'], $_POST['mysqlUser'], $_POST['mysqlPassword']);
$errno = mysql_errno();
if ($link) $str1 = '<span style="color: #008000; font-weight: bold;">OK</span> ('.mysql_get_server_info($link).')';
else $str1 = '<span style="color: #ff0000; font-weight: bold;">Failed</span><br />'.mysql_error();
?>
 <tr>
  <td colspan="2">服务器 <?=$_POST['mysqlHost']?></td>
  <td colspan="2"><?=$str1?></td>
 </tr>

 <tr>
  <td colspan="2">数据库 <?=$_POST['mysqlDb']?></td>
  <td colspan="2"><?=(@mysql_select_db($_POST['mysqlDb'],$link))?'<span style="color: #008000; font-weight: bold;">OK</span>':'<span style="color: #ff0000; font-weight: bold;">Failed</span>'?></td>
 </tr>
</table>
<?}?>
<hr />

<p style="text-align: right; margin: 0;"><a href="http://validator.w3.org/check?uri=referer" style="color: #999999;">Valid XHTML 1.0 Strict</a> / <a href="http://zh.wikipedia.org/wiki/Copyleft" style="color: #008000;"><b>Copyleft</b></a> ! 2007-? by <a href="http://phpnow.org">PHPnow.org</a></p>

</div>
</body>
</html>
PHP 相关文章推荐
php学习之 循环结构实现代码
Jun 09 PHP
php float不四舍五入截取浮点型字符串方法总结
Oct 28 PHP
调整PHP的性能
Oct 30 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
Jun 12 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
PHP aes (ecb)解密后乱码问题
Jun 22 PHP
php用户注册信息验证正则表达式
Nov 12 PHP
使用phpstorm和xdebug实现远程调试的方法
Dec 29 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
php 中奖概率算法实现代码
Jan 25 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 PHP
PHP CURL与java http使用方法详解
Jan 26 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
Nov 04 #PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
Nov 04 #PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
Nov 04 #PHP
PHP自动重命名文件实现方法
Nov 04 #PHP
php以post形式发送xml的方法
Nov 04 #PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 #PHP
phpmyadmin中禁止外网使用的方法
Nov 04 #PHP
You might like
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
php批量修改表结构实例
2017/05/24 PHP
PHP goto语句用法实例
2019/08/06 PHP
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
js截取固定长度的中英文字符的简单实例
2013/11/22 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
第一篇初识bootstrap
2016/06/21 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
浅谈Node新版本13.2.0正式支持ES Modules特性
2019/11/25 Javascript
JS实现TITLE悬停长久显示效果完整示例
2020/02/11 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
整理Python中的赋值运算符
2015/05/13 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
Python实现两款计算器功能示例
2017/12/19 Python
python监控文件并且发送告警邮件
2018/06/21 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
Python是怎样处理json模块的
2020/07/16 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
C++面试题目
2013/06/25 面试题
Ajax的工作原理
2015/12/04 面试题
办公室主任先进事迹
2014/01/18 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
2015年感恩节活动总结
2015/03/24 职场文书
幸福终点站观后感
2015/06/04 职场文书