ahaaje/linux-system-information

轻量级库,用于收集正在运行的Linux系统的信息

v1.2.0 2018-12-28 12:54 UTC

This package is auto-updated.

Last update: 2024-09-29 02:34:12 UTC


README

Latest Stable Version License composer.lock

这是一个轻量级库,用于收集正在运行的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,通常是可访问的。但是,系统管理员可以限制对读取家庭目录外文件的函数的访问。

如果抛出异常,异常消息应提供足够的信息,以便您确定问题。如果您有特殊的设置,不在此范围内,可以扩展和覆盖SystemMount类。