2017 © Pedro Peláez
 

library linux-system-information

Light-weight library to help gather information on a running Linux system

image

ahaaje/linux-system-information

Light-weight library to help gather information on a running Linux system

  • Wednesday, July 26, 2017
  • by ahaaje
  • Repository
  • 1 Watchers
  • 0 Stars
  • 14 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

Linux System Information

Latest Stable Version License composer.lock, (*1)

This is a light-weight library to gather information (stats) about the Linux system it is running on., (*2)

The information is read from the files in /proc/* and /etc/*. These are usually world readable, but your system may vary. There is no dependency on system or execcalls to binaries installed on your system., (*3)

Features

  • PSR-4 auto loading compliant structure
  • Example file
  • Normalize stats to "human readable" form
  • Extendability

Stats that can be fetched

  • hostname
  • load average for 1, 5 or 15 minutes
  • memory as total, available and used
  • file system size and usage

Requirements

  • Linux
  • PHP 5.5

Installation

With composer simply do composer require ahaaje/linux-system-information inside your project directory., (*4)

Usage

This is from the example file. You should not need to require the auto loader if already using composer to manage your project requirements, (*5)

<?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;
}

Stat numbers for disk space and memory are returned as kilo bytes, but you can add true as a second parameter to the get*Category() functions to have them normalized into MB, GB or TB - like this php $system->getMemoryCategory('total', true), (*6)

Exceptions

Exceptions are thrown as siblings of RuntimeException if some stats can't be read or otherwise accessed. The information sources used, like /proc/meminfo, are normally accessible. However, a system administrator could restrict access to functions that read files outside the home directory., (*7)

If thrown, the exception message should give you enough information to figure out what is the problem. You can extend and override the System and Mount classes if you have a special setup that is not covered., (*8)

The Versions

26/07 2017

dev-master

9999999-dev

Light-weight library to help gather information on a running Linux system

  Sources   Download

dbad

The Requires

  • php >=5.5

 

The Development Requires

stats linux os system information

26/07 2017

v1.1.0

1.1.0.0

Light-weight library to help gather information on a running Linux system

  Sources   Download

dbad

The Requires

  • php >=5.5

 

The Development Requires

stats linux os system information

26/07 2017

dev-develop

dev-develop

Light-weight library to help gather information on a running Linux system

  Sources   Download

dbad

The Requires

  • php >=5.5

 

The Development Requires

stats linux os system information

24/07 2017

v1.0.2

1.0.2.0

Light-weight library to help gather information on a running Linux system

  Sources   Download

dbad

The Requires

  • php >=5.5

 

The Development Requires

stats linux os system information

21/07 2017

v1.0.1

1.0.1.0

Light-weight library to help gather information on a running Linux system

  Sources   Download

dbad

The Requires

  • php >=5.5

 

The Development Requires

stats linux os system information

18/07 2017

v1.0.0

1.0.0.0

Light-weight library to help gather information on a running Linux system

  Sources   Download

dbad

The Requires

  • php >=5.5

 

The Development Requires

stats linux os system information