# 獲取服務器信息
## [PHP交流群:494826865(點擊群號立即加群)](https://jq.qq.com/?_wv=1027&k=50Qy5h6)
>[success]在做PHP開發的時,可能會用到獲取服務器相關的信息,下面經出了常用服務器信息的獲取方法
~~~
<?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',
);
?>
~~~
~~~
<?php
$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,這兩個字段的值體現了數據庫的大小
- 前言
- PHP獲取服務器信息
- PHP中的常用函數-新手必備知識
- 日期時間相關的函數
- 時區設置
- time函數
- strtotime 時間戳
- date函數
- mktime函數
- 聯合使用 date() 和 mktime()
- PHP數據類型相關的函數
- PHP數組相關的函數
- array函數
- 數組的排序
- sort()和rsort()函數
- asort()和arsort()函數
- ksort()和krsort()函數
- array_multisort()函數
- array_reverse函數
- 數組的遍歷
- 數組中新增和刪除元素
- 數組頭部插入和刪除元素
- 數組尾部插入和刪除元素
- 刪除數組中重復的元素
- 刪除數組中指定的元素
- 數組的合并
- 隨機/打亂已知數組
- range函數
- 數組去除重復
- PHP常用功能函數
- URL地址處理函數
- post/get請求
- PHP字符串相關的函數
- PHP文件系統
- PHP正則表達式
- 正則表達式語法規則
- POSIX擴展的正則表達式函數
- 查找字串函數
- 替換字符串函數
- Perl兼容的正則表達式函數
- PHP中類的應用
- 中文編碼
- 關于stdClass
- 變量相關函數
- unset
- PHP數值相關的函數
- 數值取整
- 開發工具與開發環境使用技巧
- sublime
- 常用插件
- Atom
- 常用插件
- 常見問題
- Visual Studio Code
- vscode常用插件
- 編程推薦字體
- MAC下開發常識
- MAC下的常用設置
- MAC下的常用開發工具
- MAC下XAMMP的常見問題
- Apache配置基礎
- PhpStrom
- php中的常見問題
- 文件上傳相關問題
- API接口中常見問題
- 關于緩沖區問題
- PHP中注意事項
- 條件判斷
- PHP文件管理模塊
- 文件管理源碼
- 文件管理的常用函數
- 文件管理中文亂碼處理
- 自定義功能函數
- 文件下載
- PHP常用頭信息定義匯總
- 常見PHP網頁木馬
- 加密算法
- 1. Base58可逆加密
- 2. AES加密/解密
- mysql數據庫操作
- 命令行操作Mysql常用令行-查詢
- 命令行操作Mysql常用令行-操作
- Mysql使用中的技巧
- 在線數據庫管理中常用命令
- sql show命令
- mysql數據庫的備份與恢復
- 二進制日志介紹
- 二進制日志常用命令
- ThinkPHP
- 數據遷移
- 常見問題
- 驗證碼問題
- API接口中的異常處理
- API接口安全
- 解決跨域問題
- 自定義實用功能函數