Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Uruchamianie skryptu .sh
Forum PHP.pl > Forum > Serwery WWW
Tomek58
Witam!

Mam pewien problem. Napisałem sobie prosty skrypt start.sh:

Kod
#!/bin/sh

cd /home/katalog

screen -A -m -d -S program ./program


Za jego pomocą uruchamiam plik program. Gdy wpiszę w konsoli serwera, w dowolnym katalogu: sh /home/katalog/start.sh program się uruchomi. Gdy uruchamiam go za pomocą skryptu php, program nie chce się uruchomić, chociaż wszystko wygląda prawidłowo:

skrypt.php

Kod
<?PHP

$test = system("sh /home/katalog/start.sh");
echo $test;

?>


Gdzie jest błąd? Pliki w katalogu: /home/katalog mają chmod 777. Ustawiłem także użytkownika: www-data jako właściciela plików i niestety dalej nie działa.  sciana.gif
prond
Wszystko wyglada poprawnie.
Napisz jak sprawdzasz, "czy program się uruchamia".
Tomek58
Po wpisaniu: ps x nie widać że screen został uruchomiony.
webdice
Spróbuj:

Kod
chmod +x start.sh
Tomek58
Niestety dalej nic. Jeśli tak się nie uda, to może jest jakiś inny sposób aby uruchomić danego screena z poziomu PHP?
prond
Spróbuj zobaczyć listę procesów pod userem www-data, albo jak root.
Żeby wyeliminować wiele problemów spróbuj odpalić jakiś mega prosty skrypt, np.:
Kod
echo "tekst" > /tmp/php-sh-test.txt
Tomek58
No i ten skrypt zadziałał. Uruchomiłem go z poziomu php:

Kod
system("sh /home/katalog/start.sh");


Utworzył się plik: php-sh-test.txt w katalogu tmp z zawartością: tekst
prond
Spróbuj może wykonać start.sh jako www-data w konsoli.
Tomek58
Jakie będzie hasło dla usera www-data?
prond
Nie musisz znać hasła - wejdź na root'a i z niego przełącz się na www-data.
Tomek58
W międzyczasie udało mi się rozwiązać problem :-). Wertowałem google.pl i doszedłem do wniosku że to powinno działać. Zainstalowałem sobie SUDO, a następnie dodałem do pliku /etc/sudoers:

Cytat
www-data ALL=(ALL)NOPASSWD: /home/katalog/program


No i teraz wszystko działa jak należy. Dzięki za pomoc, temat do zamknięcia!
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.