Programa agindo de forma diferente dependendo do usuário

1

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?

    
por Stoopkid 29.01.2014 / 03:28

1 resposta

0

Eu aconselho você a usar o pilight ( link ) quando quiser fazer automação residencial com seu Raspberry Pi. Esse programa é feito especialmente para esse fim.

Para ficar mais claro após o comentário abaixo. Eu corro pilight e XBMC no mesmo Raspberry Pi por mais de um ano sem problemas. Dessa forma eu posso controlar minhas luzes, mesmo com o controle remoto da minha TV. Portanto, não há necessidade de comprar mais Raspberry Pi.

    
por 29.01.2014 / 16:14