| Server IP : 23.254.227.96 / Your IP : 216.73.216.183 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/local/cwpsrv/var/services/pma/libraries/classes/Server/SysInfo/ |
Upload File : |
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Server\SysInfo;
use const PHP_OS;
use function in_array;
use function ucfirst;
/**
* Library for extracting information about system memory and cpu.
* Currently supports all Windows and Linux platforms
*
* This code is based on the OS Classes from the phpsysinfo project
* (https://phpsysinfo.github.io/phpsysinfo/)
*/
class SysInfo
{
public const MEMORY_REGEXP = '/^(MemTotal|MemFree|Cached|Buffers|SwapCached|SwapTotal|SwapFree):\s+(.*)\s*kB/im';
/**
* Returns OS type used for sysinfo class
*
* @param string $php_os PHP_OS constant
*
* @return string
*/
public static function getOs($php_os = PHP_OS)
{
// look for common UNIX-like systems
$unix_like = [
'FreeBSD',
'DragonFly',
];
if (in_array($php_os, $unix_like)) {
$php_os = 'Linux';
}
return ucfirst($php_os);
}
/**
* Gets SysInfo class matching current OS
*
* @return Base sysinfo class
*/
public static function get()
{
$php_os = self::getOs();
switch ($php_os) {
case 'Linux':
$sysInfo = new Linux();
if ($sysInfo->supported()) {
return $sysInfo;
}
break;
case 'WINNT':
$sysInfo = new WindowsNt();
if ($sysInfo->supported()) {
return $sysInfo;
}
break;
case 'SunOS':
$sysInfo = new SunOs();
if ($sysInfo->supported()) {
return $sysInfo;
}
break;
}
return new Base();
}
}