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.
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; } ?>Error: No domain found