Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/xampp/phpMyAdmin/libraries/classes/ |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * 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/) * * @package PhpMyAdmin-sysinfo */ declare(strict_types=1); namespace PhpMyAdmin; use PhpMyAdmin\SysInfoBase; /** * PhpMyAdmin\SysInfo class * * @package PhpMyAdmin */ 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 mathing current OS * * @return SysInfoBase sysinfo class */ public static function get() { $php_os = self::getOs(); $supported = [ 'Linux', 'WINNT', 'SunOS', ]; if (in_array($php_os, $supported)) { $class_name = 'PhpMyAdmin\SysInfo' . $php_os; /** @var SysInfoBase $ret */ $ret = new $class_name(); if ($ret->supported()) { return $ret; } } return new SysInfoBase(); } }