一、前言
有些时候我们需要监控一些服务的运行状态,比如说Apach或MySQL的运行状态,最近工作中也开发了这方面的功能,记录下来怎样使用PHP语言来实时监控Apache、MySQL服务的运行状态。
如果想一键开启Apache或MySQL等其他服务可以看这篇文章
【PHP】通过PHP开启/暂停Apache、MySQL或其他服务-CSDN博客
二、代码
首先要知道要监控服务的所在地址,下面代码中的地址根据实际情况修改。
返回值是'active'运行状态和'stop'停止状态,前端可以轮询请求这个方法,以实时监控服务运行状态。
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);}