svnlook через php выдает одну строчку - PullRequest
0 голосов
/ 07 сентября 2011

У меня есть простая команда php exec, которая вызывает svnlook. Если я запускаю команду через терминал, я получаю все ожидаемые результаты. Если я запускаю его, как показано ниже, я получаю только последний элемент.

$list = exec("svnlook changed -r ".$urlCleaned." ".$SVNEXPORT); 
echo $list;

Можно ли буферизовать вывод? Если так, то как? И это поможет?

1 Ответ

1 голос
/ 07 сентября 2011

Это по замыслу и объясняется:

string exec ( string $command [, array &$output [, int &$return_var ]] )

Возвращаемые значения

Последняя строка из результата команды. Если вам нужно выполнить команду и передать все данные из команды напрямую обратно без каких-либо помех, используйте функцию passthru().

Чтобы получить вывод выполненной команды, обязательно установите и используйте параметр output .

http://php.net/manual/en/function.exec.php

exec("svnlook changed -r ".$urlCleaned." ".$SVNEXPORT, $output);
var_dump($output);

В качестве альтернативы, shell_exec возвращает все.

...