Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

PHP + Shell Script (II)

Colaboração: José de Lima Junior

Data de Publicação: 03 de Setembro de 2007

Complementando a dica do Bruno Magalhães, em alguns casos é necessário sabermos o código de erro retornado, a saída padrão e a descrição do(s) erro(s). O script abaixo faz esta tarefa.

As variáveis $stdout e $stderr são arrays, o que é interessante, quando necessitamos rodar o script pelo cron, pois sendo assim os resultados podem ser colocados em um arquivo, enviados por e-mail, etc. sem interferir na stdout do cron.

  <?php
  
  $cmd = "ls -la";
  $stdout = array();
  $stderr = array();
  $return = execute($cmd, &$stdout, &$stderr);
  
  echo "  Codigo de erro: " . $return . "\n";
  echo "Saida do comando: " . "\n";
  print_r($stdout);
  echo "   Saida de erro: " . "\n";
  print_r($stderr);
  
  function execute($cmd, &$stdout, &$stderr)
  {
    $tmp = "/tmp";
    $acmd = explode(" ", $cmd);
    $outfile = tempnam($tmp, "cmd");
    $errfile = tempnam($tmp, "cmd");
    $descriptorspec = array(
        0 => array("pipe", "r"),
        1 => array("file", $outfile, "w"),
        2 => array("file", $errfile, "w")
    );
    $proc = proc_open($cmd, $descriptorspec, $pipes);
    if (!is_resource($proc)) return 255;
    fclose($pipes[0]);
    $exit = proc_close($proc);
    $stdout = file($outfile);
    $stderr = file($errfile);
    unlink($outfile);
    unlink($errfile);
    return $exit;
  }
  ?>

Veja a relação completa dos artigos de José de Lima Junior

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.02/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1265 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Expressões Regulares - Uma abordagem divertida 3ª edição