system() é igual a versão C desta função no que executa
o command
indicado e mostra o resultado. Se é dada
uma variável como segundo argumento, então o código de status de retorno
será escrito nesta variável.
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.
A função system() também tenta automaticamente limpar o buffer de saída do servidor mandando os dados para o browser após cada linha de saída se o PHP estiver sendo executado como módulo de servidor.
Retorna a última linha da saída do comando em caso de sucesso ou FALSE em caso de falha.
Se você precisa executar um comando e ter todos os dados do comando passados sem nenhuma interferencia, use a função passthru().
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. |
Veja também exec(), passthru(), popen(), escapeshellcmd(), pcntl_exec() e backtick operator.