Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] shell_exec problem z uruchomieniem programu
botnaizi
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.12.2009

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


Witajcie,

Mam problem z uruchomieniem programu poprzez shell_exec. Działa np. polecenie pwd, ls itp. Program służy do włączenia czegoś przez port LPT, więc może to problem z uprawnieniami?

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





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Tak, prawa to najczęstszy problem. Ewentualnie problem może być ze ścieżką dostępu do binarki. Wymienione przez Ciebie polecenia zwykle leżą w /bin lub /usr/bin, a ten dedykowany program może leżeć np. w /opt czy /usr/local/bin.
Zlokalizuj położenie programu i o ile prawa pozwolą, to powinieneś umieć go uruchomić.
Go to the top of the page
+Quote Post
botnaizi
post
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.12.2009

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


Program mam w /var/www/ pod nazwą lpt. Komenda wygląda tak:
  1. shell_exec('./var/www/lpt');

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





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Może /var/www/lpt
Go to the top of the page
+Quote Post
abort
post
Post #5





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


No to jak masz program w drzewie serwera WWW, to upewnij się, że w ogóle możesz ten program wykonać. Często administratorzy montują filesystem z opcją "noexec", która zabrania wykonywania jakichkolwiek binarek z danego filesystemu.
Go to the top of the page
+Quote Post
botnaizi
post
Post #6





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.12.2009

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


Nie bardzo rozumiem, o co chodzi.
Nadawałem chmod chown na www-data, ale to nic w sumie nie zmienia, bo testowy skrypt w bashu odpala, ale już tego z C nie chce.
Może dałoby się to zrobić logując się z php do ssh i wtedy wykonać komendę, lecz problem jest taki, że kiedyś próbowałem, ale miałem problem z pakietami.
Jakie mam doinstalować, to może tak spróbuję to ominąć?


EDIT: ok udało mi się to zrobić.
zainstalowałem pakiet libssh2-php. Potem oczywiście restart apacha,
Kod wygląda tak:
  1. $connection = ssh2_connect('localhost', 22);
  2. ssh2_auth_password($connection, 'root', 'haslo');
  3.  
  4. $stream = ssh2_exec($connection, 'cd /var/www && ./lpt');


Może komuś się przyda (IMG:style_emoticons/default/wink.gif)

Ten post edytował botnaizi 28.08.2012, 15:50:05
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 20:26