Bash script trabalhando na linha de comando, mas não através do PHP

1

Estou tentando executar o seguinte comando por meio do PHP:

$output = shell_exec('sudo /Users/Derk/Code/automation/psc/pdfs.sh 1');

Isso executa o seguinte código de script bash:

sudo /usr/local/bin/pdftk cvcheck_template.pdf fill_form data.fdf output output.pdf flatten    
sudo /usr/local/bin/convert -density 150 -gravity south -geometry +0+150 -composite output.pdf signature.png new_output.pdf

O script bash funciona perfeitamente na linha de comando, mas quando eu tento executá-lo via PHP em um servidor web (MAMP) ele não me dá nenhuma saída. O primeiro comando parece funcionar, mas o segundo comando não me dá nada.

Qualquer ajuda seria muito apreciada.

    
por dazzatron 22.10.2015 / 15:54

1 resposta

0

Em última análise, chegou a um problema de permissões. Os arquivos individuais tocados através da execução de scripts Python através do navegador da Web precisam ter acesso de gravação no grupo de dados www.

Meu erro foi que eles tinham direitos de leitura e execução, mas não tinham direitos de escrita. Então, uma vez que eu fiz os arquivos apropriados, tudo funcionou lindamente.

Eu também usei sudo -u www-data command para testar os arquivos PHP sem ter que testá-los através do navegador. Isso fez o teste muito mais rápido.

    
por 28.10.2015 / 09:36