Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]PHP -> Bash wykonanie pliku
Forum PHP.pl > Forum > PHP
matx132
Witam,
A więc tak chodzi o wykonanie pliku napisanego w bash z poziomu PHP, używałem exec ale niestety nie działa i nie wiem czemu.
przy łatwych zadaniach tylko ls czy innych exec działa ale jak już daję wywołanie pliku bash z parametrem to wyskakuje błąd funkcji exec (daje or die('bład')winksmiley.jpg

Czy ktoś ma pomysł jak to inaczej zrobić?

chodzi dokładnie o dodanie ip po wejściu w dany folder do pliku w systemie który reguluje reguły iptables

Pozdrawiam,
wookieb
Kod?
matx132
  1. <?php
  2. echo exec('/etc/apache2/test.sh test') or die('awhat?!');
  3. ?>


a w test.sh jest po prost za pomocą echo wpisanie do pliku nowa linijka

exec działa a test,sh z putty też działa poprawnie
kiler129
A probowales uzyc shell exec?
matx132
nadal jest błąd nawet po użyciu shell_exec
czy idzie "wydobyć" błąd jaki generuje shell_exec lub samo exec??
Quadina
Jeżeli na serwerze masz zakaz używania takich poleceń działających na shellu to niestety one będą zwracać po prostu 1 bez uruchamiania czy rzucania wyjątkiem, czy czymkolwiek co można przechwycić i obsłużyć. Wydaje mi się, że właśnie taką sytuacje masz tutaj.
matx132
mało realne to jest VPS wszystko zostało ustawione i jak wcześniej pisałem np exec("ls") działa
mls
Uprawnienia, zapewne. To co jest w /etc zwykle wymaga praw roota, PHP zaś z rootem w zasadzie nigdy nie jest uruchamiane...
matx132
niestety prawa są ok bo plik nawet dałem w folderze ze skryptem index.php
Quadina
Sprawdź jeszcze usera i grupę skryptu, który chcesz uruchomić. Nie masz przypadkiem safe_mode włączone? Sprawdź konstrukcję:
  1. $tablica = array();
  2. exec('./test.sh test',$tablica);
  3. echo implode("\n",$tablica);

Spróbuj też w test.sh dodać coś w stylu echo {date} żeby coś ci się mogło zwrócić do exec.

Kurcze, na wszystkie sposoby odpalam u siebie taką konstrukcję i Twoją z posta wyżej i odpala mi się bez problemu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.