此文章发布于29个月前,部分信息可能已经过时,请自行斟酌确认
今天给大家分享一下我自用的PHP获取服务器信息类的代码。
<?php
namespace ServerInfo;
/**
+------------------------------------------------------------------------------
* 获取服务器信息类
+------------------------------------------------------------------------------
*/
class ServerInfo {
//类定义开始
/**
+----------------------------------------------------------
* 获取服务器时间
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetServerTime() {
return date('Y-m-d H:i:s');
}
/**
+----------------------------------------------------------
* 获取服务器解译引擎
* 例如:Apache/2.2.8 (Win32) PHP/5.2.6
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetServerSoftwares() {
return $_SERVER['SERVER_SOFTWARE'];
}
/**
+----------------------------------------------------------
* 获取php版本号
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetPhpVersion() {
return PHP_VERSION;
}
/**
+----------------------------------------------------------
* 获取Http版本号
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetHttpVersion() {
return $_SERVER['SERVER_PROTOCOL'];
}
/**
+----------------------------------------------------------
* 获取网站根目录
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetDocumentRoot() {
return $_SERVER['DOCUMENT_ROOT'];
}
/**
+----------------------------------------------------------
* 获取PHP脚本最大执行时间
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetMaxExecutionTime() {
return ini_get('max_execution_time') . ' Seconds';
}
/**
+----------------------------------------------------------
* 获取服务器允许文件上传的大小
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetServerFileUpload() {
if (@ini_get('file_uploads')) {
return '允许 ' . ini_get('upload_max_filesize');
} else {
return '禁止';
}
}
/**
+----------------------------------------------------------
* 获取全局变量 register_globals的设置信息 On/Off
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetRegisterGlobals() {
return $this->GetPhpCfg('register_globals');
}
/**
+----------------------------------------------------------
* 获取安全模式 safe_mode的设置信息 On/Off
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetSafeMode() {
return $this->GetPhpCfg('safe_mode');
}
/**
+----------------------------------------------------------
* 获取Gd库的版本号
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetGdVersion() {
if (function_exists('gd_info')) {
$GDArray = gd_info();
$gd_version_number = $GDArray['GD Version'] ? '版本:' . $GDArray['GD Version'] : '不支持';
} else {
$gd_version_number = '不支持';
}
return $gd_version_number;
}
/**
+----------------------------------------------------------
* 获取内存占用率
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetMemoryUsage() {
return $this->ConversionDataUnit(memory_get_usage());
}
//服务器IP
public function ServerIp() {
return GetHostByName($_SERVER['SERVER_NAME']);
}
//服务器系统
public function Serveros() {
return php_uname('s');
}
/**
+----------------------------------------------------------
* 对数据单位 (字节)进行换算
+----------------------------------------------------------
* @access private
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
private function ConversionDataUnit($size) {
$kb = 1024; // Kilobyte
$mb = 1024 * $kb; // Megabyte
$gb = 1024 * $mb; // Gigabyte
$tb = 1024 * $gb; // Terabyte
//round() 对浮点数进行四舍五入
if ($size < $kb) {
return $size . ' Byte';
} else if ($size < $mb) {
return round($size / $kb, 2) . ' KB';
} else if ($size < $gb) {
return round($size / $mb, 2) . ' MB';
} else if ($size < $tb) {
return round($size / $gb, 2) . ' GB';
} else {
return round($size / $tb, 2) . ' TB';
}
}
/**
+----------------------------------------------------------
* 获取PHP配置文件 (php.ini)的值
+----------------------------------------------------------
* @param string $val 值
* @access private
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
private function GetPhpCfg($val) {
switch ($result = get_cfg_var($val)) {
case 0:
return '关闭';
break;
case 1:
return '打开';
break;
default:
return $result;
break;
}
}
}
最后修改:2020 年 12 月 31 日 12 : 53 PM
© 允许规范转载
看不懂OωO
这就是几个方法,有啥不懂的讷?