danielme85/simple-server-info

一个简单的PHP 7.1+类,用于提供关于您的服务器/系统构建的系统信息。

v1.0 2020-02-05 15:54 UTC

This package is auto-updated.

Last update: 2024-09-17 21:33:57 UTC


README

GitHub PHP from Packagist GitHub release GitHub tag Travis (.org) Codecov

一个简单的PHP 7.1+类,用于提供关于您的unix/linux服务器/系统的系统信息。

获取CPU信息和负载。内存和存储/卷的使用情况和信息。注重效率和简洁。信息从Unix系统的虚拟文件系统"/proc"读取,因此需要Procfs。不使用excec或其他shell命令/黑客技术来获取底层系统信息。所有信息都是从虚拟的/proc文件系统中读取的。

需求

安装

require danielme85/simple-server-info

包含vendor/autoload.php或您喜欢的其他方式来包含东西到您的项目/框架中。

使用示例

use danielme85\Server\Info;

$info = new Info();

$cpuInfo = $info->cpuInfo();
$cpuUsage = $info->cpuLoad($sampleSec = 1, $rounding = 2);

静态快捷方式

$memoryInfo = Info::get()->memoryInfo();

当前支持的信息

以下信息被支持。

CPU

方法"cpuInfo"返回一个包含关于CPU信息的数组。这是按核心组织的,尽管大部分信息是重复的,因为核心通常共享相同的信息。数组以core_id组织并索引。要限制返回的信息,您可以指定核心和/或包含您想要的信息的数组。方法"cpuLoad"返回一个数组,其中包含基于设置的sec(默认1秒)间隔的样本的每个核心的负载百分比。

$cpuinfo = Info::get()->cpuInfo();
$filteredCpuInfo = Info::get()->cpuInfo($core = null, ['processor', 'model_name', 'cpu_mhz', 'cache_size']);
$cpuLoad = Info::get()->cpuLoad($sampleSec = 1, $rounding = 2);

内存

方法"memoryUsage"返回关于当前内存使用情况的信息,格式为字节。方法"memoryLoad"返回负载/使用的百分比。

$memoryUsage = Info::get()->memoryUsage();
$memoryLoad = Info::get()->memoryLoad();

文件系统/卷

方法"volumesInfo"返回关于挂载的文件系统/卷的信息。

$volumes = Info::get()->volumesInfo(),

进程

方法"processes"和"process"返回关于系统中当前存在的/proc系统的进程的信息。可以从'状态'和'status'虚拟系统文件中获得结果。您可以通过传递一个包含所需列的数组来过滤结果,指定状态/状态,最后设置$runningonly = true/false。

$allprocs = Info::get()->processes();
$filteredprocs = Info::get()->processes(['name', 'state', 'pid', 'ppid', 'vmpeak', 'vmsize', 'threads'], 'status', true);
$spesifficproc = Info::get()->process($pid);

系统运行时间

$uptime => Info::get()->uptime(),