Domanda

Ho un semplice comando php exec che chiama svnlook.Se eseguo il comando tramite il terminale ottengo tutto l'output che mi aspetto.Se lo eseguo come mostrato di seguito, ottengo solo l'ultimo elemento.

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

Posso bufferizzare l'output?Se é cosi, come?E questo aiuterà?

È stato utile?

Soluzione

Questo è in base alla progettazione ed è spiegato:

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

Valori restituiti

L'ultima riga del risultato del comando.Se è necessario eseguire un comando e tutti i dati del comando vengono restituiti direttamente senza alcuna interferenza, utilizzare la funzione passthru().

Per ottenere l'output del comando eseguito, assicurati di impostare e utilizzare il parametro output .

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

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

In alternativa, shell_exec restituisce tutto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top