php - sudo 的行为与正常的脚本执行不同
问题描述
我有一个重新启动 docker 容器的脚本。
- 如果我以 root 身份执行该脚本,它将完美运行。
- 我已设置 sudoers,因此其他用户不需要密码即可以 root 身份执行此脚本
- 如果我单击一个按钮,我希望我的 webappliaction(基于 php)能够执行它
但问题就在这里。
我的 PHP 文件包括:
<?php
echo passthru("sudo /volume1/web/VPN/vpnSwitchLocation.sh $location 2>&1");
?>
脚本无需密码即可执行!但在脚本中有一个 docker 命令
docker run ...
当我从 php 调用脚本时,会发生此错误:
docker: command not found
但是,如果我在没有 sudo 的情况下执行它(从 shell 手动),它工作得非常好。所以我的问题是: 如何在 PHP 中使用 sudo 执行包含 docker 命令的脚本?
此致
解决方案
推荐阅读
- c++ - 在 Windows 中未调用 C++ WndProc 事件 WM_QUERYENDSESSION
- c# - QNA 聊天机器人与 Cortana 一起“说出反馈”
- node.js - 套接字发射无法到达 UI
- javascript - 如何在 google chrome 扩展程序中检测到我登录到另一个网站?
- c# - 让打印机连接/可用
- php - 如何解析数组中的数组
- c# - 使用 ajax 将客户端 JSON 传递到后端
- django - 如何通过带有 post_save 的 django 信号填充模型字段?
- c++ - 为什么重载解决方案偏爱不受约束的模板功能而不是更具体的功能?
- html - 限制来自外部 SDK 的全屏元素渲染