PHP Exec sonra StdErr ()

3 Cevap php

PHP I) (exec ile bir komutu yürütülürken ediyorum ve başarılı bir URL eğer döndürür;

$url = exec('report');

However, I want to check stderr, if something went wrong. How would I read the stream? I want to use php://stderr, but I am not sure how to use it.

3 Cevap

Birleştirilmemiş stdout / stderr'yi almak için başka bir yolu.

$pp_name = "/tmp/pp_test";
@unlink($pp_name);
posix_mkfifo($pp_name, 0777);
$pp = fopen($pp_name, "r+");
stream_set_blocking($pp, FALSE);
exec("wget -O - http://www.youtube.com 2>$pp_name", $r_stdout);
$r_stderr = stream_get_contents($pp);
var_dump($r_stderr);
fclose($pp);
unlink($pp_name);

Stdout görmezden ve sadece stderr'yi almak istiyorsanız, bu deneyebilirsiniz:

exec("wget -O - http://www.youtube.com 2>&1 >/dev/null", $r_stderr);