ahaaje / linux-system-information
轻量级库,用于收集正在运行的Linux系统的信息
v1.2.0
2018-12-28 12:54 UTC
Requires
- php: >=5.5
Requires (Dev)
- phpunit/phpunit: 5.2.*
This package is auto-updated.
Last update: 2024-09-29 02:34:12 UTC
README
这是一个轻量级库,用于收集正在运行的Linux系统(统计数据)的信息。
信息是从/proc/*和/etc/*中的文件读取的。这些文件通常是可读的,但你的系统可能有所不同。该库不依赖于系统或exec调用系统上安装的二进制文件。
特性
- PSR-4自动加载兼容结构
- 示例文件
- 将统计数据规范化为“可读”形式
- 可扩展性
可获取的统计数据
- 主机名
- 1、5或15分钟的平均负载
- 内存总量、可用量和已用量
- 文件系统大小和用量
要求
- Linux
- PHP 5.5
安装
使用composer,在项目目录中简单地执行composer require ahaaje/linux-system-information
。
使用方法
这是从示例文件中提取的。如果您已经使用composer管理项目需求,则不需要引入自动加载器
<?php require '../vendor/autoload.php'; use Ahaaje\LinuxSystemInformation\System; try { $system = new System(); echo 'Host:' . $system, PHP_EOL; echo 'Load average last 5 minutes: ' . $system->getLoadAverage(5), PHP_EOL; echo 'Total memory: ' . $system->getMemoryCategory('total'), PHP_EOL; echo 'Used memory: ' . $system->getMemoryCategory('used'), PHP_EOL; echo 'Available memory: ' . $system->getMemoryCategory('available'), PHP_EOL; } catch (\RuntimeException $e) { // Some stat could not be accessed echo get_class($e) . ' : ' . $e->getMessage(), PHP_EOL; } catch (\Exception $e) { echo 'FATAL EXCEPTION: ' . $e->getMessage(), PHP_EOL; }
磁盘空间和内存的统计数据以千字节返回,但您可以将true
作为get*Category()函数的第二个参数,将它们规范化为MB、GB或TB,例如php $system->getMemoryCategory('total', true)
异常
如果某些统计数据无法读取或无法访问,则异常作为RuntimeException的兄弟被抛出。使用的信息源,如/proc/meminfo,通常是可访问的。但是,系统管理员可以限制对读取家庭目录外文件的函数的访问。
如果抛出异常,异常消息应提供足够的信息,以便您确定问题。如果您有特殊的设置,不在此范围内,可以扩展和覆盖System和Mount类。