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); ?>
Outras funções:
- shell_exec(): http://www.php.net/manual/pt_BR/function.shell-exec.php
- passthru(): http://www.php.net/manual/en/function.passthru.php