# 获取服务器信息
## [PHP交流群:494826865(点击群号立即加群)](https://jq.qq.com/?_wv=1027&k=50Qy5h6)
>[success]在做PHP开发的时,可能会用到获取服务器相关的信息,下面经出了常用服务器信息的获取方法
~~~
$info = array(
'操作系统'=>PHP_OS,
'运行环境'=>$_SERVER["SERVER_SOFTWARE"],
'主机名'=>$_SERVER['SERVER_NAME'],
'WEB服务端口'=>$_SERVER['SERVER_PORT'],
'网站文档目录'=>$_SERVER["DOCUMENT_ROOT"],
'浏览器信息'=>substr($_SERVER['HTTP_USER_AGENT'], 0, 40),
'通信协议'=>$_SERVER['SERVER_PROTOCOL'],
'请求方法'=>$_SERVER['REQUEST_METHOD'],
'ThinkPHP版本'=>THINK_VERSION,
'上传附件限制'=>ini_get('upload_max_filesize'),
'执行时间限制'=>ini_get('max_execution_time').'秒',
'服务器时间'=>date("Y年n月j日 H:i:s"),
'北京时间'=>gmdate("Y年n月j日 H:i:s",time()+8*3600),
'服务器域名/IP'=>$_SERVER['SERVER_NAME'].' [ '.gethostbyname($_SERVER['SERVER_NAME']).' ]',
'服务器IP'=>$_SERVER['SERVER_ADDR'],
'用户的IP地址'=>$_SERVER['REMOTE_ADDR'],
'剩余空间'=>round((disk_free_space(".")/(1024*1024)),2).'M',
);
?>
~~~
~~~
$this->sysinfo = array(
'os' => $_SERVER["SERVER_SOFTWARE"], //获取服务器标识的字串
'version' => PHP_VERSION, //获取PHP服务器版本
'time' => date("Y-m-d H:i:s", time()), //获取服务器时间
'pc' => $_SERVER['SERVER_NAME'], //当前主机名
'osname' => php_uname(), //获取系统类型及版本号
'language' => $_SERVER['HTTP_ACCEPT_LANGUAGE'], //获取服务器语言
'port' => $_SERVER['SERVER_PORT'], //获取服务器Web端口
'max_upload' => ini_get("file_uploads") ? ini_get("upload_max_filesize") : "Disabled", //最大上传
'max_ex_time' => ini_get("max_execution_time")."秒", //脚本最大执行时间
'mysql_version' => $this->_mysql_version(),
'mysql_size' => $this->_mysql_db_size(),
);
?>
~~~
# 数据库信息的获取
>[success] 数据库信息的获取方法有多种
1、使用SQL查询的方式获取:selcet version();
~~~
selcet version()
~~~
2、mysqli_get_server_info($link);/mysqli_get_server_version($link);
>[danger] 获取数据库大小
原理:SHOW TABLE STATUS FROM “数据库名"
~~~
array(1) {
[0] => array(18) {
["Name"] => string(10) "bb_manager"
["Engine"] => string(6) "MyISAM"
["Version"] => int(10)
["Row_format"] => string(7) "Dynamic"
["Rows"] => int(1)
["Avg_row_length"] => int(52)
["Data_length"] => int(52)
["Max_data_length"] => string(15) "281474976710655"
["Index_length"] => int(2048)
["Data_free"] => int(0)
["Auto_increment"] => int(2)
["Create_time"] => string(19) "2017-08-06 11:59:07"
["Update_time"] => string(19) "2017-08-09 16:44:25"
["Check_time"] => NULL
["Collation"] => string(15) "utf8_general_ci"
["Checksum"] => NULL
["Create_options"] => string(0) ""
["Comment"] => string(9) "管理员"
}
}
~~~
> 返回的信息中,其中:Data_length 和 Index_length,这两个字段的值体现了数据库的大小