PHP前端开发

PHP如何可靠地控制Nginx的启动和停止?

百变鹏仔 1个月前 (12-15) #PHP
文章标签 可靠

php 控制 nginx 启动和关闭

问题:

在 php 中使用 shell_exec 调用 service nginx stop 命令,但 nginx 服务仍然在运行。

分析:

shell_exec 函数返回命令的输出,但并未确认命令执行是否成功。

立即学习“PHP免费学习笔记(深入)”;

解决方案:

使用 system() 函数代替 shell_exec,它会在命令执行成功后返回 0。

代码修改:

$result = system($command);if ($result === 0) {    // 命令执行成功    echojson(['errcode' => 0, 'msg' => '服务重启成功']);} else {    // 命令执行失败    echojson(['errcode' => 1, 'msg' => '服务重启失败']);}

权限问题:

linux 系统中,需要 root 权限才能启动或停止 nginx 服务。因此,需要在 command 变量中添加 sudo。

docker 环境:

在 docker 环境中,需要确保 ubuntu 镜像已安装 sudo 服务。可使用以下命令安装:

apt install sudo