ďťż
 
 
   skrypt uruchamiany przez PHP i ścieżki do katalogu
 
 

Tematy

 
    
 

 

 

 

skrypt uruchamiany przez PHP i ścieżki do katalogu





Tomek58 - 13-01-2009 21:12
Witam ponownie!
Napisałem prosty skrypt, który zamierzam uruchamiać za pomocą PHP. Skrypt ten znajduje się w katalogu: /home/katalog/skrypt.sh

A oto skrypt.sh #!/bin/sh
cd /home/katalog
screen -A -m -d -S program ./program -parametry Gdy chcę go uruchomić z katalogu: /var/www (z tego katalogu będzie uruchamiał go PHP) komendą: sh /home/katalog/skrypt.sh wyskakuje:
: No such file or directory cd: /home/katalog Co z tym zrobić? Jak poustawiać ścieżki aby dało się go uruchomić z katalogu /var/www?



lis6502 - 13-01-2009 21:21
Uruchom go z parametrem -x i upewnij się że Ty i www-data macie prawa odczytu /home/katalog. Sprawdź pod kątem literówek.



Tomek58 - 13-01-2009 21:29

Uruchom go z parametrem -x i upewnij się że Ty i www-data macie prawa odczytu /home/katalog. Sprawdź pod kątem literówek. Prawa do odczytu mam, bo jak usunę ze skryptu: cd /home/katalog i uruchomię go prosto z folderu katalog: home/katalog# sh skrypt.sh - to działa.

Narazie nie ma co sprawdzać praw do odczytu użytkownika: www-data, ponieważ jak nie mogę odpalić skryptu z katalogu /var/www jako root, to użytkownik www-data także go nie uruchomi.



lis6502 - 13-01-2009 22:26
Wrzuć dokładną treść skryptu i wyplutkę ls -l /home



Tomek58 - 13-01-2009 22:39
Aktualnie mam skrypt w tej postaci:

#!/bin/sh
screen -A -m -d -S nazwa1 ./program ls -l /home

drwxrwxrwx 5 www-data root      4096 Jan 13 22:18 katalog
drwxr-xr-x 2 ftp      nogroup    4096 Jan  9 21:59 ftp Nawet przeniosłem index.php do /home/katalog/index.php czyli tam gdzie znajduje się skrypt.sh, ustawiłem na serwerze www katalog ze stronami na /home/katalog, uruchomiłem w przeglądarce index.php i dalej nic.

Plik index.php
<?PHP

$test = system("sh ./skrypt.sh");
echo $test;

?> Skrypt się wykona prawidłowo gdy go uruchamiam prosto z katalogu.



lis6502 - 13-01-2009 22:50
Teraz dopiero zauważyłem... sh ./skrypt.sh
Słuchaj, albo decydujesz się na interpretację pliku skrypt.sh przez program sh (sh skrypt.sh), albo chcesz go wykonać (./skrypt). Nie da rady naraz. Oba zapisy są oczywiście jak najbardziej poprawne, ale nie można ich ze sobą łączyć.



Tomek58 - 13-01-2009 22:55
Ten index.php zwraca: /home/katalog - więc robi się masło maślane. Już nie wiem gdzie leży problem :/

Ale dzięki za pomoc, będę dalej kombinował i może się uda.

[ Dodano: 2009-01-14, 16:03 ]
lis6502, Tak, ale program nadal nie chce się uruchomić gdy skrypt odpalam w PHP. Natomiast gdy w konsoli uruchamia się bez problemu.

Nadałem odpowiednim plikom chmod 777, a także ustawiłem właściciela programu na www-data
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis