PHP, как получить обе stderr из двух команд, разделенных с помощью канала?

Ниже приведен пример без трубы. Это возвращает ожидаемое сообщение об ошибке.

<?php
$exec_output = array();
$exec_return_var = 0;

@exec('lame --unsupported 2>&1', $exec_output, $exec_return_var);

if ($exec_return_var != 0)
echo 'Error: ' . implode('<br>', $exec_output);

Ошибка: lame: нераспознанная опция — не поддерживается

Но как получить оба сообщения об ошибках с двумя командами, разделенными с помощью канала? В приведенном ниже примере я получаю только сообщение об ошибке от второй команды.

    <?php
$exec_output = array();
$exec_return_var = 0;

@exec('flac --unsupported 2>&1 | lame --unsupported 2>&1', $exec_output, $exec_return_var);

if ($exec_return_var != 0)
echo 'Error: ' . implode('<br>', $exec_output);

Ошибка: lame: нераспознанная опция —unsupported

0

Решение

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

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

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

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