Deixar o usuário '_www' executar o binário em / usr / local / bin

0

Total * nix n00b, então peço desculpas antecipadamente. Eu instalei o ffmpeg através do homebrew, agora eu quero chamá-lo de um script PHP com shell_exec() , por exemplo %código%. Mas nada está acontecendo. Do Terminal funciona bem.

O Apache está sendo executado como ffmpeg -v , então imaginei que não teria permissões suficientes para encontrar algo dentro de _www . Então eu coloquei um link simbólico para o binário ffmpeg em /usr/local/bin . Nada. Posso executar /usr/bin , mas isso só me dá which ffmpeg . Chamar /usr/bin/ffmpeg não produz nada.

Eu verifiquei se as permissões no ffmpeg estão definidas para 755, mas isso não teve efeito. Alguma idéia?

    
por mcombuec 12.05.2014 / 19:04

3 respostas

0

Você pode querer considerar o uso da biblioteca PHP-FFmpeg para fazer coisas do ffmpeg.

Está disponível aqui: A biblioteca PHP-FFMpeg

Espero que isso seja útil.

    
por 12.05.2014 / 19:15
0

O primeiro passo seria totry executar o comando como _www-user chamando sudo-u _www -H [comando]

Isso executaria [comando] como _www-User para que você possa ver o que acontece no terminal.

Mas pode haver uma solução mais simples. O usuário _www pode simplesmente não ter / usr / local / bin em sua variável PATH. Portanto, você terá que chamar / usr / local / bin / ffmpeg em seu script em vez de ffmpeg e tudo correrá bem.

    
por 13.05.2014 / 06:07
0

Lembre-se de que o ffmpeg não gera saída para stdout . Se você ligar, será necessário capturar stderr ou redirecioná-lo.

Então, corra:

ffmpeg -v 2&>1
    
por 14.05.2014 / 14:39