array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.system.php', 1 => 'system', ), 'up' => array ( 0 => 'ref.exec.php', 1 => 'Funções para Execução de programas', ), 'prev' => array ( 0 => 'function.shell-exec.php', 1 => 'shell_exec', ), 'next' => array ( 0 => 'book.parallel.php', 1 => 'parallel', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/exec/functions/system.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
system — Executa um programa externo e mostra a saída
system() é igual à versão C desta
função, executa o comando informado em
command
e mostra o resultado.
A chamada a system() também tenta automaticamente descarregar o buffer de saída do servidor web após cada linha de saída se o PHP estiver sendo executado como módulo do servidor.
Se for necessário executar um comando e obter todos os dados do comando passados diretamente sem nenhuma interferência, use a função passthru().
command
O comando que será executado.
result_code
Se o argumento result_code
estiver presente, o
estado de retorno do comando executado será escrito nesta
variável.
Retorna a última linha da saída do comando em caso de sucesso, e false
em caso de falha.
Exemplo #1 Exemplo de system()
<?php
echo '<pre>';
// Mostra todo o resultado do comando do shell "ls", e retorna
// a última linha da saída em $last_line. Guarda o valor de retorno
// do comando shell em $retval.
$last_line = system('ls', $retval);
// Mostrando informação adicional
echo '
</pre>
<hr />Última linha da saída: '.$last_line.'
<hr />Valor de Retorno: '.$retval;
?>
Ao permitir que os dados fornecidos pelo usuário sejam passados para esta função, use escapeshellarg() ou escapeshellcmd() para garantir que os usuários não possam induzir o sistema a executar comandos arbitrários.
Nota:
Se um programa for iniciado com esta função, para que continue rodando em segundo plano, a saída do programa deve ser redirecionada para um arquivo ou outro stream de saída. Deixar de fazer isso fará com que o PHP trave até que a execução do programa termine.