【发布时间】:2021-04-15 15:04:00
【问题描述】:
我正在尝试在 PHP 中运行 exec() 函数,但我得到一个“权限被拒绝”的输出。 PHP 作为 Docker 容器安装。我在 Raspberry PI 和我的 Macbook 上都得到了这个。
为了测试,我在没有 Docker 的情况下安装了 LAMP,它工作正常,但在 Docker 上却不行。
例如,当我跑步时
echo exec('docker --version');
我在浏览器的 PHP 脚本中获得了这些信息:
sh: 1: docker: Permission denied
无论我运行 exec() 函数还是 shell_exec() 或 system() 之类的任何替代函数都没有关系。在过去的几天里,我一直在尝试一切,但没有成功。这一定是 docker 的东西,但我不知道它是什么。
我尝试过的一些事情:
- 更改了我的 .PHP 文件及其所在目录的所有权
- 将权限更改为 777
- 将 www-data 用户添加到 sudoers 文件中
- 将 www-data 添加到 docker 组
【问题讨论】:
-
你只需要 docker 还是 docker 可以访问其他正在运行的容器?
标签: php docker permissions exec permission-denied