De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


PHP + Shell Script

Colaboração: Bruno Magalhães de Souza

Data de Publicação: 26 de Agosto de 2007

Todos sabem que a linguagem PHP é muito poderosa. Tudo que se pode imaginar pode ser feito utilizando a mesma.

Que tal você visualizar a resposta de um comando em seu browser, pela rede ou em localhost? Sim é possível.

Existem diversas funções do PHP que fazem referência a comandos executados na máquina de hospedagem.

A função system() é igual a versão C desta função no que executa o comando 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.

Como ela funciona?

PHP instalado em máquina Linux:

  <?php
  echo '<pre>';
  
  // retorna o resultado do comando 'ls' , retornando a variável $retval
  // $retval é uma variável de erro. Caso exista algum o valor de retorno
  // será diferente de 0
  system('ls', $retval);
  echo '
  </pre>
  Retorno: '.$retval;
  ?>

PHP instalado em máquina Windows:

  <?php
  echo '<pre>';
  
  // retorna o resultado do comando 'DIR' , retornando a variável $retval
  // $retval é uma variável de erro. Caso exista algum o valor de retorno
  // será diferente de 0
  system('dir', $retval);
  echo '
  </pre>
  Retorno: '.$retval;
  ?>

A variável $retval não é de obrigatoriedade, serve apenas para uma verificação do comando. Você não precisa inclusive utilizar-se desta $var, pode-se criar qualquer outra. Ex.:

  <?php
  system('uptime', $erro_uptime);
  echo $erro_uptime;
  ?>

ou simplesmente:

  <?php
  system('uptime);
  ?>

Fonte: http://www.php.net/manual/pt_BR/function.system.php

Outras funções:

Error: No domain found