Ich versuche, bestimmte Ausgabe für Svn-Befehl im XML-Format zu bekommen. Die Ausgabe ist in Ordnung, wenn ich gültige Parameter eintippe. Wenn ich jedoch ein falsches Passwort eintippe, zeigt die Ausgabe keine Fehlermeldung an. Dies ist der PHP-Code:PHP exec() gibt keine Fehlermeldung in der Ausgabe
exec('/usr/bin/svn --username something --password something --non-interactive log -r HEAD --xml --verbose http://a51.unfuddle.com/svn/a51_activecollab/', $output);
Hier ausgegeben ich im Terminal erhalten:
<?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)
Und hier ist der Ausgang I von der $ Ausgangsgröße erhalten mit var_dump:
array(2) {
[0]=>
string(21) "<?xml version="1.0"?>"
[1]=>
string(5) "<log>"
}
Wie Sie sehen können, gibt die $ output-Variable nicht die dritte Zeile der Ausgabe zurück, wo Terminal tut. Bitte helfen Sie mir, die gleiche Ausgabe zu erhalten, wie ich es in Terminal bekomme (ich habe sogar mit Shell_Exec() oder System() Methoden versucht, aber sie geben die gleiche Ausgabe wie Exec()) Wie bekomme ich volle Ausgabe? Vielen Dank im Voraus!
Dies löste das Problem. Vielen Dank. – Goran
Nebenbei: ist es nicht bizarr, dass PHPs exec keine einfache Möglichkeit bietet, die 'stderr'-Ausgabe getrennt zu erfassen? –