cronfig/sysinfo

Library to get system info and available resources

1.0.0 2017-09-05 19:10 UTC

README

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

SysInfo is a simple library to get some info, metrics and available resources of the system the PHP code is running on.

Highlights

  • Simple API
  • Framework-agnostic
  • Composer ready, PSR-2 and PSR-4 compliant

System Requirements

PHP >= 7.0.10 is recommended. It's not required in composer.json so PHP projects stuck on older PHP versions could use it on their own consideration. The library does not work on PHP < 5.6.

This library use some native PHP functions like shell_exec, php_uname, disk_total_space, disk_free_space, sys_getloadavg, memory_get_usage, memory_get_peak_usage which may be disabled by some shared hostings.

sys_getloadavg is only available on linux based systems. Therefore Windows is not supported. The support can be added with new class.

Install

Install SysInfo using Composer.

$ composer require cronfig/sysinfo

Usage

use Cronfig\Sysinfo\System;

// Instantiate the system
$system = new System;

// System can get you the OS you are currently running
$os = $system->getOs();

// Get some metrics like free disk space
$freeSpace = $os->getDiskUsagePercentage();

Testing

SysInfo has a PHPUnit test suite and a coding style compliance test suite using PHP CS Fixer. To run the tests, run the following command from the project folder.

$ composer test

Continuous integration

License

The MIT License (MIT). Please see LICENSE for more information.