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

目录

一、前言

二、代码


一、前言

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

这种方法也适用其他服务。

如果想了解怎么实时监控服务的运行状态,可以看上一篇文章

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

二、代码

有三个参数需要根据实际情况修改:

① 服务状态:start 或 stop

② 要操作的服务的路径

③ 要操作的服务的名称

当然也可以改成其他服务

php 复制代码
public function putStatus()
{
	
	$status = 'stop';	//暂停服务
	// $status = 'start';	//开启服务
	
	// 要操作的服务
	$processPath = "E:\phpstudy_pro\Extensions\MySQL5.7.26\bin\mysql.exe";
	$processName = 'mysql'

	if ($status == 'stop') {

		// 使用taskkill命令终止进程,通过进程名来查找  
		$command = "taskkill /F /IM $processName";  
		exec($command, $output, $returnValue);  
		if ($returnValue === 0) {  
			return apiResponse('200','操作成功');
		} else {  
			return apiResponse('110','操作失败');
		}  
	}elseif ($status == 'start') {


		// 执行外部命令启动一个进程
		$command = $processPath; // 替换为你的程序路径  
		exec($command, $output, $return_var);  
		  
		if ($return_var === 0) {  
			return apiResponse('200','操作成功'); 
		} else {  
			return apiResponse('110','操作失败');
		}  
	}

}
相关推荐
weisian1512 小时前
Mysql--实战篇--@Transactional失效场景及避免策略(@Transactional实现原理,失效场景,内部调用问题等)
数据库·mysql
ac-er88883 小时前
Yii框架中的队列:如何实现异步操作
android·开发语言·php
马船长3 小时前
青少年CTF练习平台 PHP的后门
开发语言·php
Kendra9194 小时前
数据库(MySQL)
数据库·mysql
黑客老李7 小时前
区块链 智能合约安全 | 回滚攻击
服务器·数据仓库·hive·hadoop·区块链·php·智能合约
指尖下的技术7 小时前
Mysql面试题----MyISAM和InnoDB的区别
数据库·mysql
指尖下的技术8 小时前
Mysql面试题----为什么B+树比B树更适合实现数据库索引
数据结构·数据库·b树·mysql
Ciderw8 小时前
MySQL为什么使用B+树?B+树和B树的区别
c++·后端·b树·mysql·面试·golang·b+树
胡耀超10 小时前
CentOS 7.9(linux) 设置 MySQL 8.0.30 开机启动详解
linux·mysql·centos
索然无味io10 小时前
XML外部实体注入--漏洞利用
xml·前端·笔记·学习·web安全·网络安全·php