Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Uruchamianie skryptu .sh
Tomek58
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

Ostrzeżenie: (0%)
-----


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


--------------------
Procesor: 2,4 GHz
Dysk: 180 GB
Ramy: 1538 MB
Grafika: GeForce 256 MB

Go to the top of the page
+Quote Post
prond
post
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Wszystko wyglada poprawnie.
Napisz jak sprawdzasz, "czy program się uruchamia".


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
Tomek58
post
Post #3





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

Ostrzeżenie: (0%)
-----


Po wpisaniu: ps x nie widać że screen został uruchomiony.


--------------------
Procesor: 2,4 GHz
Dysk: 180 GB
Ramy: 1538 MB
Grafika: GeForce 256 MB

Go to the top of the page
+Quote Post
webdice
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Spróbuj:

Kod
chmod +x start.sh
Go to the top of the page
+Quote Post
Tomek58
post
Post #5





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

Ostrzeżenie: (0%)
-----


Niestety dalej nic. Jeśli tak się nie uda, to może jest jakiś inny sposób aby uruchomić danego screena z poziomu PHP?


--------------------
Procesor: 2,4 GHz
Dysk: 180 GB
Ramy: 1538 MB
Grafika: GeForce 256 MB

Go to the top of the page
+Quote Post
prond
post
Post #6





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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


Ten post edytował prond 14.01.2009, 19:04:37


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
Tomek58
post
Post #7





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

Ostrzeżenie: (0%)
-----


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


--------------------
Procesor: 2,4 GHz
Dysk: 180 GB
Ramy: 1538 MB
Grafika: GeForce 256 MB

Go to the top of the page
+Quote Post
prond
post
Post #8





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Spróbuj może wykonać start.sh jako www-data w konsoli.


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
Tomek58
post
Post #9





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

Ostrzeżenie: (0%)
-----


Jakie będzie hasło dla usera www-data?


--------------------
Procesor: 2,4 GHz
Dysk: 180 GB
Ramy: 1538 MB
Grafika: GeForce 256 MB

Go to the top of the page
+Quote Post
prond
post
Post #10





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Nie musisz znać hasła - wejdź na root'a i z niego przełącz się na www-data.


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
Tomek58
post
Post #11





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

Ostrzeżenie: (0%)
-----


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!


--------------------
Procesor: 2,4 GHz
Dysk: 180 GB
Ramy: 1538 MB
Grafika: GeForce 256 MB

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 01:41