Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z shell_exec
Forum PHP.pl > Forum > Przedszkole
kaszub
Witam, postanowilem napisac prosty panel kontrolny serwera shoutcast przez php, ogolnie wszystko dziala tylko denerwuje mnie jedna istotna rzecz, kiedy strona zaladuje sie i nie ma wlaczonego serwera shoutcast, dostepna jest tylko opcja wlacz, klikam, strona laduje sie w nieskonczonosc, zatrzymuje, uruchamiam skrypt od nowa i dalej dostepna jest tylko opcja wlacz, a serwer juz pracuje, myslalem zeby przerobic tak ze dostepne bylyby 2 opcje bez zadnego sprawdzania czy jest wlaczony czy nie, tylko kiedy tak robie to podczas ladowania skryptu wykonuje mi sie shell_exec() ktore przypisalem do zmiennej $On, ponizej zamieszczam kod "ze sprawdzaniem":
Kod
<?php
$catalog = '/home/users/kaszub/sc_trans/';
$sc_trans = sc_trans_linux;
$sc_trans_conf = 'sc_trans.conf';
if (isset($_GET["pilot"])&&$_GET["pilot"] == "on")
{
    shell_exec("ps auxww | awk '$0~/sc_trans_linux/&&$0!~/awk/{print $2}' |xargs kill");
    shell_exec($catalog.$sc_trans.' '.$catalog.$sc_trans_conf);
    $wlaczone = 1;
    exit(0);
}
if (isset($_GET["pilot"])&&$_GET["pilot"] == "off")
{
    shell_exec("ps auxww | awk '$0~/sc_trans_linux/&&$0!~/awk/{print $2}' |xargs kill");
    $wlaczone = 0;
    exit(0);
}
?>
    
    <?php
        if($wlaczone==1) {
            echo '
            <table style="padding-top:20px;">
                <tr>
                      <td><img src="images/on.gif" alt="" /> Wlacz pilota</td>
                    <td>&nbsp;</td>
                    <td><img src="images/off.gif" alt="" /> <a href="autopilot.php?action=control&pilot=off">Wylacz pilota</a></td>
                </tr>
            </table>';
        }
        if($wlaczone==0) {
            echo '
            <table style="padding-top:20px;">
                <tr>
                    <td><img src="images/on.gif" alt="" /> <a href="autopilot.php?action=control&pilot=on">Wlacz pilota</a></td>
                    <td>&nbsp;</td>
                    <td><img src="images/off.gif" alt="" /> Wylacz pilota</td>
                </tr>
            </table>';
        }
    ?>
</div>

a tutaj "bez sprawdzania"
Kod
<?php
$catalog = '/home/users/kaszub/sc_trans/';
$sc_trans = sc_trans_linux;
$sc_trans_conf = 'sc_trans.conf';
$On = shell_exec($catalog.$sc_trans.' '.$catalog.$sc_trans_conf);
$Off = shell_exec("ps auxww | awk '$0~/sc_trans_linux/&&$0!~/awk/{print $2}' |xargs kill");

?>

<a href="autopilot.php?On">ON</a> <a href="autopilot.php?Off">OFF</a>
marcio
Moze to : exit(0); zmien na exit(); albo die() bo wyglada na to jakby skrypt sie potem zatrzymywal i moze zamiast shell_exec spruboj uzyc exec/passthru/system moze to cos da chyba ze ten fragment kodu dziala poprawnie
kaszub
problem rozwiazany, teraz pojawil sie kolejny, jak wlaczam autopilota to dziala przez jakies 2 minuty i potem zamyka proces, serwer shoutcast dziala normalnie caly czas, jak zrobic zeby proces autopilota dzialal caly czas ? :|
-olek-
Cytat(kaszub @ 13.01.2008, 20:36:20 ) *
problem rozwiazany [...]

moglbys napisac jak to rozwiazales?
kaszub
wywalilem "if" smile.gif
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.