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
Requires
- php: >=8.0.2
- ext-json: *
- ext-mbstring: *
- ext-pcre: *
- symfony/process: ^5.4||^6.0||^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.46
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.6
Suggests
- ext-apcu: APCU info
README
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 oflm-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