![]() ![]() |
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. -------------------- Procesor: 2,4 GHz Dysk: 180 GB Ramy: 1538 MB Grafika: GeForce 256 MB |
|
|
|
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 -------------------------------------------------------------------------------- |
|
|
|
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 |
|
|
|
Post
#4
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 |
Spróbuj:
Kod chmod +x start.sh
|
|
|
|
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 |
|
|
|
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 -------------------------------------------------------------------------------- |
|
|
|
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 |
|
|
|
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 -------------------------------------------------------------------------------- |
|
|
|
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 |
|
|
|
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 -------------------------------------------------------------------------------- |
|
|
|
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 |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 01:41 |