Sto cercando di ottenere determinati output per il comando svn in formato XML. L'output è ok quando digito parametri validi. Tuttavia, quando digito la password errata, l'output non mostra il messaggio di errore. Questo è il codice PHP:PHP exec() non restituisce un messaggio di errore nell'output
exec('/usr/bin/svn --username something --password something --non-interactive log -r HEAD --xml --verbose http://a51.unfuddle.com/svn/a51_activecollab/', $output);
Qui è uscita ottengo nel terminale:
<?xml version="1.0"?>
<log>
svn: OPTIONS of 'http://a51.unfuddle.com/svn/a51_activecollab': authorization failed: Could not authenticate to server: rejected Basic challenge (http://a51.unfuddle.com)
E qui sta l'uscita ottengo dalla variabile di uscita $ con var_dump:
array(2) {
[0]=>
string(21) "<?xml version="1.0"?>"
[1]=>
string(5) "<log>"
}
Come si può vedere la variabile $ output non restituisce la terza riga di output, dove il terminale lo fa. Ti prego di aiutarmi a ottenere lo stesso risultato ottenuto nel terminale (ho anche provato con i metodi shell_exec() o system() ma hanno restituito lo stesso output di exec()) Come ottengo l'output completo? Grazie in anticipo!
Questo ha risolto il problema. Grazie mille. – Goran
A parte: non è bizzarro che l'exec di PHP non fornisca un modo semplice per catturare separatamente l'output 'stderr'? –