Если я запускаю внешний скрипт в PHP, используя
$p = proc_open(
'myscript.php',
array(
0 => array('file', 'inputfile.txt', 'r'),
1 => array('pipe', 'w'),
2 => array('pipe', 'w'),
),
$pipes,
$path
);
тогда я могу получить вывод stderr через
$error = stream_get_contents($pipes[2]);
Если я хочу, чтобы вывод stderr отображался на консоли, то я могу запустить его как:
$p = proc_open(
'myscript.php',
array(
0 => array('file', 'inputfile.txt', 'r'),
1 => array('file', 'php://stdout', 'w'),
2 => array('file', 'php://stderr', 'w'),
),
$pipes,
$path
);
Тем не мение,
$error = stream_get_contents($pipes[2]);
не будет производить никакого вывода.
Как сделать так, чтобы вывод stderr выводился на консоль и был доступен для использования моим сценарием?
Задача ещё не решена.
Других решений пока нет …