• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Wywołanie polecenia cordova za pomocą exec() w php na Windows

Object Storage Arubacloud
0 głosów
366 wizyt
pytanie zadane 23 lutego 2021 w JavaScript przez sc4rface Dyskutant (7,710 p.)
zamknięte 23 lutego 2021 przez sc4rface

Cześć, używam xampp na Windowsie i próbuję wywołać komendę:

cordova --version

poprzez polecenie php exec(). Próbowałem już wywoływać cordove ze ścieżki bezpośrednio tj.

C:/Użytkownik/AppData/Roaming/npm/cordova --version

Niestety to nie działa. W obu przypadkach otrzymuję output w postaci pustej tablicy, co robię nie tak?

komentarz zamknięcia: Problem został rozwiązany
komentarz 23 lutego 2021 przez ScriptyChris Mędrzec (190,190 p.)

poprzez polecenie php exec()

Możesz pokazać kod?

W obu przypadkach otrzymuję output w postaci pustej tablicy

Możesz pokazać screen z terminala?

W jaki sposób zainstalowałeś Cordovę?

komentarz 23 lutego 2021 przez sc4rface Dyskutant (7,710 p.)

Nie wiem, czy akurat w tym przypadku kod jest istotny, ponieważ zawiera dwie linijki (z racji tego, że na ten moment debuguję ten fragment aplikacji), niemniej jednak wrzucam go poniżej.

exec('cordova --version', $output);
print_r($output);

Do tej pory wyczytałem, że trzeba dodać zmienną po stronie wykonywanego skryptu za pomocą putenv, co też zrobiłem (podmieniając odpowiednio ścieżkę cordovy dla Windows).

putenv('CORDOVA_HOME=C:/Users/Użytkownik/AppData/Roaming/npm/cordova');

Niestety wciąż pusto.

Co do screenu z terminala, problem w tym, że posługując się cordovą z jego poziomu - wszystko gra i buczy, problem leży w samym odtworzeniu tego za pomocą exec() w skrypcie PHP.

Cordovę zainstalowałem za pomocą npm globalnie.

1
komentarz 23 lutego 2021 przez sc4rface Dyskutant (7,710 p.)
edycja 23 lutego 2021 przez sc4rface

Udało się rozwiązać problem. Tak w ramach ciekawostki, owszem - trzeba dodać zmienną dla wykonywanego pliku, niemniej jednak nie CORDOVA_HOME, a dorzucić ścieżkę do zmiennej PATH za pomocą:

putenv('PATH='.getenv('PATH').';C:/Users/Użytkownik/AppData/Roaming/npm');

Od tego momentu wszystko śmiga jak trzeba smiley

Podobne pytania

0 głosów
0 odpowiedzi 161 wizyt
pytanie zadane 30 sierpnia 2019 w JavaScript przez SniffSniff Nowicjusz (180 p.)
0 głosów
0 odpowiedzi 103 wizyt
pytanie zadane 13 września 2019 w Bezpieczeństwo, hacking przez awa Użytkownik (510 p.)
0 głosów
1 odpowiedź 433 wizyt

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...