Tentando iniciar o VPNC do php exec ()
Pergunta
Estou tentando iniciar minha conexão VPN (usando VPNC) do PHP. Eu tenho que fazê -lo dessa maneira, porque está fechado remotamente se não houver atividade, por isso não posso simplesmente deixá -lo em execução no servidor. Sou capaz de fazer isso na linha de comando digitando:
/usr/local/sbin/vpnc --natt-mode force-natt
Isso funciona. Não requer nenhuma entrada minha, porque estou armazenando a senha no arquivo conf. Isso não funciona do PHP:
exec('/usr/local/sbin/vpnc --natt-mode force-natt', $output, $result);
echo $result.',';
print_r($output);
A saída é:
1,Array
(
)
O modo de segurança está desligado, o diretório "/usr/local/sbin" é permitido via open_basedir e o VPNC é executável por todos os usuários. Alguma idéia de por que não consigo fazer a conexão VPN por esse caminho?
Solução
Acontece que o problema estava precisando chamá -lo usando "sudo". O VPNC deve ser chamado da raiz. Eu publiquei mais informações aqui: http://bkwld.com/blog/2009/10/vpn-through-php-on-mt/