2012-12-09 13 views
5

Próbuję uruchomić polecenie używając powłoki shell_exec, ale jej nie zwraca żadnych danych wyjściowych. Kiedy skopiuję polecenie do wiersza polecenia, działa jak czar.shell_exec ze ścieżką Windows nie działa

Oto polecenie, które próbuję uruchomić.

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

$result zwraca pusty ciąg znaków. Po uruchomieniu polecenia w wierszu polecenia wyświetlany jest komunikat o pomyślnym wygenerowaniu pliku build.xml. Powinien być wyświetlany komunikat o powodzeniu w $result.

Jeśli uruchomię tylko polecenie android update project -p "C:\xampp\htdocs\appBuilder" -t 1 w wierszu polecenia, działa.

FYI: To polecenie służy do generowania pliku build.xml dla aplikacji na system Android. Używam tego również na lokalnym serwerze sieciowym przy użyciu xampp.

Ktoś wie, co robię źle?

+0

Co dokładnie się dzieje lub nie dzieje? Czego oczekujesz? – Charles

+0

Zaktualizowałem moje pytanie. –

+0

Czy może to być problem z prostą ścieżką? gdzie uruchamiasz polecenie w wierszu polecenia? i czy próbowałeś uruchomić to samo polecenie z innej lokalizacji? –

Odpowiedz

3

podwójny backslash\\ powinny być używane do drukowania pojedynczego \ znak (pierwszy \ służy do ucieczki drugi \):

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

Również upewnić PHP SAFE MODE jest ustawiony na OFF.

Powiązane problemy