phpsvnlook

svnlook through php gives one line


I have a simple php exec command that calls svnlook. If I run the command through the terminal I get all the output I expect. If I run it as shown below, I only get the last item.

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

Can I buffer the output? If so how? And will that help?


Solution

  • That's by design and is explained:

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

    Return Values

    The last line from the result of the command. If you need to execute a command and have all the data from the command passed directly back without any interference, use the passthru() function.

    To get the output of the executed command, be sure to set and use the output parameter.

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

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

    Alternatively, shell_exec returns everything.