escapeshellcmd
passthru
Funções para Execução de programas
PHP Manual

# exec

(PHP 4, PHP 5)

exec — Executa um programa externo

### Descrição

string exec ( string `$command` [, array `&$output` [, int `&$return_var` ]] )

exec() executa o `command` dado.

### Parâmetros

`command`

  O 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.

### Valor Retornado

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 executado, tenha certeza de definir e usar o parâmetro `output` .

### Exemplos

Exemplo #1 Um exemplo exec()

`<?php
// Mostra o nome de quem é o dono do processo php/httpd
// (em um sistema com o executável "whoami" no path)
echo exec('whoami');
?>`

### Notas

Aviso

Quando permitindo dados fornecidos por usuário para ser passado para esta função, use escapeshellarg() ou escapeshellcmd() para se certificar que os usuários não tentarão enganar o sistema com comandos arbitrários.

> Nota: Se um programa é iniciado com esta função, e deseja que ele continue rodando em background, a saída do programa precisa se redirecionada para um arquivo ou outro output stream. Se isso não é feito, o que irá ocorrer é que o PHP ficará esperando 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.

Aviso

Com safe mode ativado, a string do comando é escapada com escapeshellcmd(). Então, echo y | echo x vira echo y \| echo x.

### Veja Também

- system() - Executa um programa externo e mostra a saída
- passthru() - Executa um programa externo e mostra a saída crúa
- escapeshellcmd() - escapa metacaracteres shell
- pcntl_exec() - Executes specified program in current process space
- backtick operator

escapeshellcmd
passthru
Funções para Execução de programas
PHP Manual