Estou tentando controlar um transmissor RC de um site PHP. O comando funciona bem como usuário "xbian" na linha de comando:
sudo /home/xbian/433Utils/RPi_utils/codesend 34832404
por exemplo, e funciona bem.
Então estou usando este código na página do php:
shell_exec("sudo /home/xbian/433Utils/RPi_utils/codesend {$num} >/tmp/debug.log 2>&1");
E esta linha em sudoers:
www-data ALL=NOPASSWD: /home/xbian/433Utils/RPi_utils/codesend
E, como espero, recebo um arquivo de saída:
sending code[34832404]
O que eu não consigo sem a linha de sudoers. Então o comando está rodando como sudo como deveria, mas por alguma razão, depois de tudo isso, simplesmente não funciona como quando eu simplesmente executo o comando shell normalmente.
A coisa real que requer o sudo é a biblioteca "WiringPi" que é chamado no programa C ++ "codesend". Eu suponho que algo está errado lá, mas não tenho idéia de como solucionar isso. Nenhum erro ocorre no programa de término de programa e nada mais sai do comando. Estou executando o PHP 5.4.4 e usando o Prefork mpm. Esta página só é acessível na minha rede local, por isso não estou muito preocupado com a segurança neste momento, apenas fazendo com que funcione.
Como posso descobrir onde está o problema?