phpbar.de logo

Mailinglisten-Archive

[PHP] exec() sytem() startet nicht jedes Programm - Warum?

[PHP] exec() sytem() startet nicht jedes Programm - Warum?

Alexander Saupe php_(at)_phpcenter.de
Tue, 21 May 2002 13:53:12 -0700


Hallo Liste

auf einem LAMP Server habe ich folgendes Problem:

1. ich kann über exec oder system 'einfache' Linux Befehle wie z.B. df
(diskfree) ausführen - kein Problem
2. aber ich kann z.B. nicht den kill PID Befehl ausführen (keine Rückmeldung
und killen tut er den entsprechenden Prozeß PID auch nicht - habe vorher die
PID des abzuschießenden Programms ausgelesen)
3. HIER nun um was es mir wirklich geht:
dieses Programm will ich über PHP ausführen:

mldonkey > mldonkey.log &
(so schreibe ich das sonst in die Konsole und Linux startet mldonkey im
Hintergrund)

die Ausgabe von dir bringt folgendes:
 -rwxrwxrwx    1 10575    21129     1052648 M?r 13 16:31 mldonkey
(also die Rechte sind so gesetzt das mldonkey jeder ausführen kann)

zum testen habe ich die Rechte des Apache auf users gesetzt (in der
httpd.conf)

Im Netz hab ich noch das (http://www.php.net/manual/en/ref.exec.php) hier
gefunden und ausprobiert (auch wenn ich nichts davon verstanden habe):
exec("php script.php parameters 2>dev/null >&- <&-
>/dev/null &");
Where...
...php is the path to your php script executer (php has to be specifically
complied to be to do this)
...script.php is the script
...parameters are none or more parameters
...2>dev/null redirects the stderr to a file
...<&- switches off the stdin
...>&- switches off the stdout
...>dev/null redirects all other output to the file dev/null
...& direct script to run in background
- played a little with the parameters and... nothing happened! ;-(

Vor allen Dingen hab ich keinen Blassen was stdin oder stdout sein soll.

Ich vermute mal das es nichts mit den Rechten zu tun hat (generell kann der
Apache bzw. PHP ja z.B. den df Befehl ausführen und die Rechte für mldonkey
sind ja schon aufs niedrigste gesetzt).

So, jetzt seit Ihr drann. Bitte helft mir.

Eventuell kann jemand etwas zur Funktionsweise des Befehls exec sagen?

Vielen Dank, Alex


php::bar PHP Wiki   -   Listenarchive