【PHP】通过PHP实时监控Apache、MySQL服务运行状态

一、前言

有些时候我们需要监控一些服务的运行状态,比如说Apach或MySQL的运行状态,最近工作中也开发了这方面的功能,记录下来怎样使用PHP语言来实时监控Apache、MySQL服务的运行状态。

如果想一键开启Apache或MySQL等其他服务可以看这篇文章

【PHP】通过PHP开启/暂停Apache、MySQL或其他服务-CSDN博客

二、代码

首先要知道要监控服务的所在地址,下面代码中的地址根据实际情况修改。

返回值是'active'运行状态和'stop'停止状态,前端可以轮询请求这个方法,以实时监控服务运行状态。

php 复制代码
public function getServer()
{
	$info = [];

	// 要监控的服务
	$server['apache'] = "E:\phpstudy_pro\Extensions\Apache2.4.39\bin\httpd.exe";
	$server['mysql'] = "E:\phpstudy_pro\Extensions\MySQL5.7.26\bin\mysqld.exe";

	if (!empty($server)) {

		// apache
		$apache = $this->getProcessNameByName($server['apache']);
		if (!empty($apache)) {  
			if ($apache[0] == $server['apache']) {
				$info['apache'] = 'active';		//运行状态
			}else{
				$info['apache'] = 'stop';		//停止状态
			}
		} else {  
			$info['apache'] = 'stop';	//停止状态
		}  

		// mysql
		$mysql = $this->getProcessNameByName($server['mysql']);
		if (!empty($mysql)) {  
			if ($mysql[0] == $server['mysql']) {
				$info['mysql'] = 'active';	//运行状态
			}else{
				$info['mysql'] = 'stop';	//停止状态
			}
		} else {  
			$info['mysql'] = 'stop';	//停止状态
		}  
	}

	return apiResponse('200','success',$info);

}
相关推荐
yoothey4 分钟前
MySQL 数据库连接池调优实战
数据库·mysql
Tian_Hang36 分钟前
Eclipse Mosquitto 安装及介绍
java·运维·服务器·ide·sql·mysql·eclipse
南墙上的石头12 小时前
麒麟 V10 重装人大金仓 V8R6 踩坑实录(含 MySQL 兼容模式)
数据库·mysql
执子手 吹散苍茫茫烟波15 小时前
RC 隔离级别下 MySQL InnoDB 死锁典型案例
数据库·mysql
AC赳赳老秦15 小时前
防火墙规则批量配置实战:OpenClaw 自动生成模板、批量下发与合规性校验全解析
java·开发语言·人工智能·python·github·php·openclaw
2502_9212860717 小时前
【企业网络管理】DHCP 与 SAMBA:从协议原理到企业级实战配置全解析
开发语言·php
峥无18 小时前
深入理解MySQL事务与MVCC机制
数据库·mysql
运维管理18 小时前
H3C SecPath W2000-G[AK]系列Web应用防火墙 典型配置举例(E6711 E6712 E6713)-6W108-H3C 官方配置
服务器·网络·php
techdashen21 小时前
kTLS 进入 rustls 组织:把 TLS 的数据面交给内核
开发语言·php