PHP - 执行 sudo 命令 returns 没什么

PHP - exec sudo command returns nothing

这个话题有很多问题,但我的情况比较奇怪。

我正在尝试在 php 中打印出 exec("sudo -u root whoami")。但它 returns 没什么。

我通过 sudo visudo 添加了 %www-data ALL=(ALL:ALL) ALL 但没有运气,没有错误,只是没有打印出任何东西。

有什么建议吗?

提前致谢

您的网络服务器将如何输入 sudo 的密码?

您的配置允许网络服务器用户 运行 服务器上的所有命令。但这需要用户输入他们的密码。和网络服务器

  1. 不能以交互方式做到这一点
  2. 连密码都没有

所以 如果 你想做你想做的事(给进程 运行ning PHP root 访问机器是一个 非常糟糕的主意) 你应该将它添加到你的 sudo-config:

%www-data     ALL = NOPASSWD: /usr/bin/whoami

这允许组 www-data 运行 whoami 作为根 而无需 交互式密码提示