PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : frage zu system() / exec()



damogran
15-02-2006, 12:49
Hi,

ich hab mal ne Frage zur Funktion System oder exec.

Folgendes Skript

$cmd = "ls";
$result = array();
exec( $cmd, &$result);
foreach ( $result as $v )
{
echo "$v <br>";
}
funkioniert super. Wenn ich aber als cmd hcp eintrage, der mir aus einer normalen shell folgenden Output liefert

:~> hcp
Correct form: hcp <command>
bekomme ich in PHP keinen Output.

Woran kann das liegen? Seh ich den STD Err nicht?

Turbohummel
15-02-2006, 17:06
Wahrscheinlich weil der Benutzer, unter dem Apache läuft, diesen Befehl nicht ausführen darf.

damogran
20-02-2006, 10:23
Doch darf er ^^
Aber selbst wenn müsste er sowas hier ausgeben


nobody@izllod:~> hcp q name
Open: Permission denied

Romanday
20-02-2006, 17:59
Doch darf er ^^
Aber selbst wenn müsste er sowas hier ausgeben


nobody@izllod:~> hcp q name
Open: Permission denied


Versuch mal eine Gegenkontrolle um die Ursache einzugrenzen.
Daher Ausgabe in Datei umleiten, und nachschauen ob was drin
steht.

michael.sprick
20-02-2006, 19:11
Seh ich den STD Err nicht?
Ich vermute mal, daran wird es liegen... aber Du kannst ja STDERR auf STDOUT umleiten:



$Befehl = "hcd 2>&1";


Ansonsten solltest Du evtl. noch den absoluten Pfad zu hcd angeben... wenn Du das Ganze über einen Webserver ausführst, kann es z.B. sein, dass $PATH ungleich der $PATH ist, die Du an der Shell hast ;)