stderr — вывод внешнего процесса как в pipe, так и в php: // stdout

Если я запускаю внешний скрипт в 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 выводился на консоль и был доступен для использования моим сценарием?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]