Eu estou tentando desligar meu RaspberryPi rodando Raspbian de um script php em execução no servidor web lighttpd. shell_exec("sudo /sbin/shutdown -h now 2>&1");
Eu adicionei lighttpd ALL=(ALL) NOPASSWD: /sbin/shutdown
ao meu arquivo / etc / sudoers e verifiquei Defaults !requiretty
está definido.
Eu ainda recebo "sudo: no tty presente e nenhum programa askpass especificado" ao executar o script.
Alguém pode me ajudar por favor? Obrigado!
Redirecionamento de saída (
—
Aaron Miller
2>&1
) requer uma concha; tente remover isso do comando e veja se você obtém um resultado diferente.
Obrigado por seus comentários. Na verdade, eu já tentei shell_exec em primeiro lugar. Acabei de copiar o comando errado para a minha pergunta. E exec ("sudo / sbin / shutdown -h now"); não funciona também.
—
frsc
Você tem certeza que o lighttpd está rodando como usuário lighttpd? Em um script php,
—
WJDev
echo `whoami`
; Pode ser www-data ou http
shell_exec
função em vez deexec
desde que é um comando shell (acho que é assim que funciona). Eu não estou 100% de certeza (daí o comentário), mas pode valer a pena tentar.