我正在尝试从在 lighttpd 网络服务器上运行的 php 脚本关闭运行 Raspbian 的 RaspberryPi。
shell_exec("sudo /sbin/shutdown -h now 2>&1");
我将其添加lighttpd ALL=(ALL) NOPASSWD: /sbin/shutdown
到我的 /etc/sudoers 文件并检查是否Defaults !requiretty
已设置。
运行脚本时,我仍然收到“sudo:没有 tty present 并且没有指定 askpass 程序”。
有人能帮帮我吗?谢谢!
答案1
Lighttpd 可能没有以用户身份运行lighttpd
。
在 PHP 脚本中,写入以下内容以找出其以哪个用户运行:
echo shell_exec('whoami');
可能是www-data
或者http
反而。