Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Shell i PHP
Forum PHP.pl > Forum > PHP
tomasz_po
Jak w kodzie PHP uruchomić skrypt Shella czy jest taka możliwość?
mandragorek
http://pl2.php.net/manual/pl/function.system.php

Zewnętrzne programy można w PHP wywołać z pomocą funkcji takich jak exec lub system (np. system('ls')). Aby wywołać skrypt trzeba podać ścieżkę do pliku i nadać mu prawa do uruchamiania.
tomasz_po
A jak by to wygladalo w kodzie połączenie i uruchomienie programu z shella

Mam komende ktora wpisuje w shella np ./samp022svr& i jak ja wywołać w kodzie php?
Jarod
Cytat(tomasz_po @ 20.02.2008, 15:00:58 ) *
Mam komende ktora wpisuje w shella np ./samp022svr& i jak ja wywołać w kodzie php?

A zadałeś sobie trud, żeby sprawdzić to co kolega mandragorek napisał?
tomasz_po
Cytat(Jarod @ 20.02.2008, 15:24:28 ) *
A zadałeś sobie trud, żeby sprawdzić to co kolega mandragorek napisał?

Tak sprawdzałem ale nie moge zrozumieć o co tam chodzi.
Jarod
Cytat(tomasz_po @ 20.02.2008, 15:30:14 ) *
Tak sprawdzałem ale nie moge zrozumieć o co tam chodzi.

W czym o co chodzi? Właduj w funkcje wywołanie swojego skryptu.. Cała filozofia.
tomasz_po
Czyli poprostu?
  1. <?php
  2. system('./samp022svr&');
  3. ?>
Jarod
A nie możesz tego sprawdzić?questionmark.gif Skrypt powinien mieć nadane prawo do wykonywania.
tomasz_po
No nie dziala sad.gif a co to są te prawa?
Jarod
http://catcode.com/teachmod/chmod_cmd2.html

Spróbuj podać pełną ścieżkę do pliku


EDIT: Mały test na wingrozie:

test.php
  1. <?php
  2. echo 'test.php';
  3. system('php E:/WWW/test2.php');
  4. ?>



test2.php
  1. <?php
  2. echo 'Zostałem uruchomiony przez plik test.php';
  3. ?>


Wywołuję plik test.php z przeglądarki albo z cmd, php test.php

Działa. Analogicznie pod linuchem tylko pamiętaj o prawach.

pzdr
tomasz_po
chmod mam 755 czyli powinien go uruchomic
Jarod
Próbowałeś podać pełną ścieżkę do pliku? W jakim katalogu znajduje się skrypt, z jakiego katalogu próbujesz go uruchomić?
tomasz_po
/home/users/xxx/xxx/samp022svr&
Jarod
Cytat(tomasz_po @ 20.02.2008, 16:45:04 ) *
/home/users/xxx/xxx/samp022svr&

Chłopie weź wysil się i opisz wszytko dokładnie. Mamy cię za język ciągnąć?

ps. sprawdzałeś przykład, który podałem? Dostosuj swój skrypt. Testujesz na swoim serwerze? Jakies błędy? Może system i exec zablokowane przez admin?
tomasz_po
Tak ten przyklad ktory podałeś działa, ale niestety moj skrypt nie chce odpalic :|
Jarod
Pokaż kod, podaj ścieżkę z której odpalasz skrypt php i napisz jak wywołujesz skrypt php.
tomasz_po
Kod którym dopalam:
  1. <?php
  2. $start = system('/home/users/xxx/xxx/samp022svr&');
  3. ?>

Zauważyłem coś ciekawego że tworzy log w katalogu gdzie jest www, a nie gdzie stoi skrypt mimo podania ściezki do skryptu przy system() oto ten log.

----------
Loaded log file: "server_log.txt".
----------

SA:MP Dedicated Server
----------------------
v0.2.2, ©2005-2007 SA:MP Team

[16:42] Unable to exec file 'server.cfg'.
[16:42] Error: Your password must be changed from the default password, please change it.

----------
Loaded log file: "server_log.txt".
----------

SA:MP Dedicated Server
----------------------
v0.2.2, ©2005-2007 SA:MP Team

[16:55] Unable to exec file 'server.cfg'.
[16:55] Error: Your password must be changed from the default password, please change it.
Jarod
Miałeś wywołać przez system..


Cytat(tomasz_po @ 20.02.2008, 16:59:32 ) *
[16:42] Error: Your password must be changed from the default password, please change it.


Może pokaż zawartość który próbujesz odpalić..?
tomasz_po
To jest jakis kodowany plik i gdy odpalam go w notatniku to mam same kwadraciki i krzaczki wiec zrodla jako takiego nie ma, a haslo napewno jest zmienione na nie standardowe.

Ma ktos jeszcze jakis pomysl?
Jarod
Jak ktoś ma Ci pomóc skoro ilośc informacji podawana przez Ciebie jest powalająca...
tomasz_po
To co mam jeszcze podac?
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.