Minha configuração é a seguinte: Windows 7, XAMPP com Apache e PHP habilitado
Eu tenho um script PHP no qual eu chamo um programa externo para executar uma conversão.
Este programa externo é um arquivo EXE, que requer 3 atributos:
- O arquivo de origem
- O arquivo de destino
- Sinalizadores adicionais (tipo de conversão, etc.)
Quando eu uso a ferramenta de linha de comando embutida no XAMPP para executar meu script, tudo funciona bem. Mas quando eu uso a função exec () no meu script PHP, nenhum arquivo de saída é criado. Tenho certeza que a conversão está realmente acontecendo (leva cerca de 5 segundos, aproximadamente o mesmo tempo que leva para executar o script PHP).
Eu acho que é uma coisa de permissões, então eu já mudei o arquivo EXE para a mesma pasta que o meu arquivo PHP e ajustei as permissões da pasta inteira (eu concedi todas as permissões para todos os usuários). Eu também desativei o Windows UAC e tentei colocar o comando em um arquivo BAT. O arquivo simplesmente não é criado.
Qualquer ajuda ou dicas serão muito apreciadas!
EDIT: Meu código PHP é o seguinte:
exec('c:\converter.exe c:\src.txt c:\dst.txt -f', $output);
print_r($output);
Quando imprimo $ output, a matriz fica vazia. Quando eu coloco exatamente o mesmo comando no prompt de comando, o código funciona como um encanto (sem erros de sintaxe). Eu também uso caminhos absolutos.