• 技术文章 >后端开发 >php教程

    如何使用php探针环境检测代码的示例

    黄舟黄舟2017-11-10 11:33:32原创2396
    在我们之前的文章中我们带大家了解了什么是php探针,php探针是干什么,相信大家对此也是有一定了解很认识了,那么今天我用php探针来检测环境的实现代码分享给大家,这篇文章主要为大家分享了如何使用php探针环境检测代码的示例,需要的朋友可以参考下


    php探针环境检测代码

    <?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();">
    <p style="margin: 0 auto; width: 600px;">
    
    <p style="height: 60px;">
     <p style="float: right; margin: 5px; text-align: center;">
      <p><a style="color: #ffa500;" href="http://phpnow.org/go.php?id=1005">为何只能本地访问?</a></p>
      <p id="ip_r" style="color: #999999;">正在获取 IP 地址</p>
     </p>
    
     <p style="float: left;">
      <p style="font-weight: bold; font-size: 2.2em;"><a href="<?=_SERVER('PHP_SELF')?>?" style="text-decoration: none;"><?=colorhost()?></a></p>
      <p style="margin: 5px auto;"># Let's <b style="color: #777BB4;">PHP</b> <b style="color: #FF4500;">now</b> <b>!</b></p>
     </p>
    </p>
    
    <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>
    
    </p>
    </body>
    </html>

    总结:

    文章介绍php探针环境检测的代码到这里就结束了、相信很多小伙伴看完这篇文章就对php探针有了进一步的了解了,对此希望对你有所帮助!

    相关推荐:

    什么是php探针?php探针有什么作用?


    使用PHP探针检测VPS服务器性能


    php探针 phpinfo()函数禁用时使用

    以上就是如何使用php探针环境检测代码的示例的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 检测 环境
    上一篇:什么是php探针?php探针有什么作用? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 浅析PHP应用程序中正确调用系统命令的方法• 求解:phpcms模板怎样转码?该怎么解决• 想请问一下印证的有关问题• php 之 cookie 跟 session 简单解读(笔记) • xml转换成数组的有关问题
    1/1

    PHP中文网