Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Uruchamianie aplikacji poprzez skrypt PHP
Forum PHP.pl > Forum > PHP
mihau_koval
Witam. Mam serwer SA:MP (taka gra multiplayer), i potrzebuje zrobić panel do zarządzania WWW. Otóż mam pewien problem. Po uruchomieniu skryptu włączającego, PHP "zawiesza się" (?), ale serwer się włącza. Dopiero po wyłączeniu serwera otrzymuje komunikat.
Oto kod PHP:
CODE
<?
echo '<pre>';
$start = system("cd \
cd var
cd www
cd brian
cd mihausrv
./samp02Xsvr&");
echo"$start";
echo $a;
?>

Wersja PHP: 5.2.6-1
System operacyjny: Debian Linux
Proszę serdecznie o pomoc withstupidsmiley.gif
lashus
Nie jestem pewien, ale chyba musisz stosować zapytania osobno, czyt. w formie:

Kod
$start = system("cd \");
$start .= system("cd var");


itd...
mihau_koval
też tak robiłem, ale PHP dalej się "zawieszał", może zamiast system użyć exec lub shell_exec??
Przy funkcji exec() w manualu PHP znalazłem:

Informacja: Jeśli program uruchamiany w tle zawiera tę funkcję, należy upewnić się, że wyjście tego programu jest przekierowane do pliku lub innego strumienia wyjściowego. W przeciwnym przypadku PHP zawiesi działanie aż do zakończenia działania wykonywanego programu.
Fifi209
Yyyy? Dlaczego nie otwierasz całej ścieżki od razu? biggrin.gif

podaj mu całość cd var/www/brian/mihausrv

Hmm...
lashus
Spróbuj skorzystać z tego Klik! Nie jestem pewien czy pomoże, warto spróbować.

Kod
pcntl_exec
mihau_koval
Spróbowałem tak
  1. <?
  2. $start = system("cd var/www/brian/mihausrv");
  3. pcntl_exec("var/www/brian/mihausrv/samp02Xsvr");
  4. echo"$start";
  5. ?>

Ale dostałem komunikat:
Fatal error: Call to undefined function pcntl_exec() in /var/www/brian/serwon.php on line 3
Ja też nie wiem o co kaman
Sebaso
hmmm... nie jestem pewien

ale sprobuj tak :

  1. <?
  2. $start = system("cd var/www/brian/mihausrv");
  3. void pcntl_exec("var/www/brian/mihausrv/samp02Xsvr");
  4. echo"$start";
  5. ?>
mihau_koval
Parse error: syntax error, unexpected T_STRING in /var/www/brian/serwon.php on line 3
piotrooo89
ale nie pokażesz kodu, ani nic?

i chyba tak

  1. <?php
  2. echo $start;
  3. ?>
okitoki
nie lepiej
Kod
exec("/var/www/brian/mihausrv/samp02Xsvr");


lub shell_exec
dr_bonzo
Cytat
Informacja: Jeśli program uruchamiany w tle zawiera tę funkcję, należy upewnić się, że wyjście tego programu jest przekierowane do pliku lub innego strumienia wyjściowego. W przeciwnym przypadku PHP zawiesi działanie aż do zakończenia działania wykonywanego programu.



Kod
/twoj/programik &> /dev/null &
mihau_koval
dr_bonzo, Czyli tak?
  1. <?php
  2. exec("var/www/brian/mihausrv/samp02Xsvr& /dev/null &");
  3. ?>


dr_bonzo, dziękuje już sobie poradziłem, dałem tak:
  1. <?php
  2. @system('cd /var/www/brian/');
  3. @shell_exec('bash serwres.sh > /dev/null');
  4. echo ("Reset udany");
  5. ?>

Dam wszystkim pomógł, bo każdy post pomógł
Można usunąć, zamknąć
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.