exec() executa o
command dado.
commandO comando que será executado.
output
Se o argumento output estiver presente, então a matriz especificada
será prenchida com cada linha da saída do comando. Espaços ao final, como
\n, não são incluídos nesta matriz. Note que se a matriz
já contiver alguns elementos, exec() irá adicionar ao final da matriz.
Se você não quiser que a função adicione elementos, use
unset() antes de passar ela para
exec().
return_var
Se o argumento return_var esta presente
junto com o argumento output, então o status de retorno
do comando executado será escrito nesta variável.
A ultima linha do resultado do comando. Se você precisa executar um comando e ter todos os dados passados diretamente de volta sem qualquer interferência, use a função passthru().
Para pegar a saída do comando execuatdo, tenha certesa
de definir e usar o parâmetro output.
| Atenção |
Se você for permitir que dados vindos do usuário sejam passados para essa função, eles precisam passar por escapeshellarg() ou escapeshellcmd() para se certificar que os usuários não tentarão enganar o sistema com comandos arbitrários. |
Nota: Se você iniciar um programa com essa função e deseja que ele continue rodando em background, você precisa garantir que as saídas do programa sejam redirecionadas para um arquivo ou outro suporte a stream senão o PHP irá esperar até que a execução do programa termine.
Nota: Quando o safe mode estiver ativo, você só pode chamar executáveis dentro de safe_mode_exec_dir. Por razões práticas não é permitido haver .. no caminho do executável.
| Atenção |
Com safe mode ativado, a string do comando é escapada com escapeshellcmd(). Então, echo y | echo x vira echo y \| echo x. |
| system() |
| passthru() |
| escapeshellcmd() |
| pcntl_exec() |
| backtick operator |