2012-12-09 5 views
5

Ich versuche, einen Befehl mit Shell_Exec ausführen, aber keine Ausgabe zurückgegeben. Wenn ich den Befehl in die Eingabeaufforderung kopiere, funktioniert das wie ein Zauber.shell_exec mit Windows-Pfad nicht ausgeführt

Hier ist der Befehl, den ich ausführen möchte.

$result = shell_exec('android update project -p "C:\xampp\htdocs\appBuilder" -t 1'); 

$result gibt eine leere Zeichenfolge zurück. Wenn ich den Befehl in der Eingabeaufforderung ausführen, wird eine Meldung angezeigt, die besagt, dass die Datei build.xml erfolgreich generiert wurde. Es sollte die Erfolgsmeldung in $result angezeigt werden.

Wenn ich nur den Befehl android update project -p "C:\xampp\htdocs\appBuilder" -t 1 in der Eingabeaufforderung ausführen, funktioniert es.

FYI: Dieser Befehl soll eine build.xml Datei für eine Android-Anwendung generieren. Ich führe das auch auf einem lokalen Webserver mit xampp aus.

Wer weiß, was ich falsch mache?

+0

Was genau passiert oder nicht passiert? Was erwartest du? – Charles

+0

Ich habe meine Frage aktualisiert. –

+0

könnte dies ein einfaches Pfadproblem sein? Wo führst du den Befehl während der Eingabeaufforderung aus? und haben Sie versucht, denselben Befehl von einem anderen Ort aus auszuführen? –

Antwort

3

A Doppel Backslash\\ sollte ein einzelnes \ Zeichen (erstes \ verwendet wird, um die zweiten \ zu entkommen) drucken verwendet werden:

$result = shell_exec('android update project -p "C:\\xampp\\htdocs\\appBuilder" -t 1'); 

Auch stellen Sie sicher, PHP SAFE MODE-OFF gesetzt.

Verwandte Themen