gemorroj/ginfo

App and library for easily parsing system information, like network/cpu/memory/usb/pci/sound cards/filesystems/raid array/ipmi/etc.

5.5.1 2024-07-27 12:31 UTC

This package is auto-updated.

Last update: 2024-10-27 13:08:07 UTC


README

License Latest Stable Version Continuous Integration

Ginfo is a:

  • Extensible, easy (composer) to use PHP Library to get extensive system stats programmatically from your PHP app

Fork changes:

  • drop ui
  • drop internationalization
  • drop bsd* support (sorry, I will not be able to support)
  • drop dhcp3 support
  • drop dnsmasq support
  • drop php libvirt support
  • drop lxd support
  • no need COM extension on Windows, but need powershell
  • support Windows >= 10
  • adapt the code to modern standards
  • minimal php version 8.0.2
  • add selinux status info
  • add php info (basic, opcache, apcu)

Installation:

composer require gemorroj/ginfo

Example:

<?php
$ginfo = new \Ginfo\Ginfo();
$info = $ginfo->getInfo();

\print_r($info->getGeneral());
\print_r($info->getPhp());
\print_r($info->getCpu());
\print_r($info->getMemory());
\print_r($info->getSoundCard());
\print_r($info->getUsb());
\print_r($info->getUps());
\print_r($info->getPci());
\print_r($info->getNetwork());
\print_r($info->getDisk());
\print_r($info->getBattery());
\print_r($info->getSensors());
\print_r($info->getProcesses());
\print_r($info->getServices());
\print_r($info->getPrinters());
\print_r($info->getSamba());
\print_r($info->getSelinux());

Runs on

  • Linux
  • Windows >= 10

Information reported

  • CPU type/speed; Architecture
  • Mount point usage
  • Hard/optical/flash drives
  • Hardware devices (PCI) (linux: need pciutils)
  • USB devices (linux: need usbutils)
  • Network devices and stats
  • Uptime
  • Memory usage (physical and swap, linux: need free)
  • Temperatures/voltages/fan speeds (linux: need hddtemp as daemon, mbmon as daemon, sensors (part of lm-sensors), hwmon, acpi themal zone, nvidia-smi, ipmitool)
  • RAID arrays (linux: need mdadm)
  • Motherboard (linux: need dimedecode)
  • Processes
  • Systemd services (linux: need systemctl)
  • logged users (linux: need who)
  • UPS status (linux: need apcaccess)
  • Printer status (linux: need lpstat)
  • Samba status (linux: need smbstatus)
  • Selinux status (linux: need sestatus)
  • PHP (basic info, opcache, apcu)

System requirements:

  • PHP >= 8.0.2
  • pcre extension
  • proc_open

Windows

  • You need to have powershell
  • Allow execute ps1 scripts Set-ExecutionPolicy RemoteSigned –Force

Linux

  • /proc and /sys mounted and readable by PHP
  • Tested with the 2.6.x/3.x/4.x kernels