Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
j A n
- Beiträge: 86
- Registriert: 19.12.2004 11:16:00
-
Kontaktdaten:
Beitrag
von j A n » 31.10.2005 10:42:09
Hallo,
ich habe folgendes Problem:
Ich möchte per shell_exec das Programm aufrufen und aus einem Array den benötigten Wert auslesen lassen. Allerdings benötige ich dazu innerhalb des shell_exec Kommandos nführungszeichen...
Lassen die sich irgendwie Maskieren oder entfernen so das es läuft ???
Code: Alles auswählen
shell_exec("/usr/local/bin/etherwake -i eth1 $woldb["$raum"][$i]");
MfG
j A n
-
Cloonix
- Beiträge: 589
- Registriert: 20.11.2004 10:42:24
- Wohnort: München
-
Kontaktdaten:
Beitrag
von Cloonix » 31.10.2005 11:00:42
Hi,
schon probiert mit:
?
MfG
-
j A n
- Beiträge: 86
- Registriert: 19.12.2004 11:16:00
-
Kontaktdaten:
Beitrag
von j A n » 31.10.2005 11:45:06
Ja beides. Hat leider nicht hingehauen.
MfG
j A n
-
Picknicker
- Beiträge: 654
- Registriert: 25.04.2003 16:28:02
- Wohnort: Saarland
Beitrag
von Picknicker » 31.10.2005 11:51:46
Code: Alles auswählen
shell_exec("/usr/local/bin/etherwake -i eth1 ".$woldb["$raum"][$i]);
schon mal so probiert ?
cu
Picknicker
-
j A n
- Beiträge: 86
- Registriert: 19.12.2004 11:16:00
-
Kontaktdaten:
Beitrag
von j A n » 31.10.2005 12:20:40
Dein Vorschlag produziert zumindest keinen Fehler, allerdings scheint es dennoch nicht zu funktionieren. Noch irgendwelche Vorschläge ?
MfG
j A n
-
Cloonix
- Beiträge: 589
- Registriert: 20.11.2004 10:42:24
- Wohnort: München
-
Kontaktdaten:
Beitrag
von Cloonix » 31.10.2005 12:24:40
Wenn kein Fehler ausgespuckt wird, würde ich mal ein Debug machen. Ob er das Skript überhaupt ausführt, ob die Rechte stimmen, usw.
-
Picknicker
- Beiträge: 654
- Registriert: 25.04.2003 16:28:02
- Wohnort: Saarland
Beitrag
von Picknicker » 31.10.2005 14:55:14
j A n hat geschrieben:Dein Vorschlag produziert zumindest keinen Fehler, allerdings scheint es dennoch nicht zu funktionieren. Noch irgendwelche Vorschläge ?
Dann liegt es an deinem aufzurufenden Script. Denn so wird das normalerweise aufgerufen.
Da du aber in dem Fall keinen wert auf die Ausgabe des Shell Befehles legst versuchs mal mit
Code: Alles auswählen
exec("/usr/local/bin/etherwake -i eth1 ".$woldb["$raum"][$i]);
was du aber auch mal machen kannst ist :
Code: Alles auswählen
echo "/usr/local/bin/etherwake -i eth1 ".$woldb["$raum"][$i];
um zu schauen ob das auch so in Ordnung geht mit dem Aufruf.
cu
Picknicker
-
j A n
- Beiträge: 86
- Registriert: 19.12.2004 11:16:00
-
Kontaktdaten:
Beitrag
von j A n » 01.11.2005 16:11:42
echo "/usr/local/bin/etherwake -i eth1 ".$woldb["$raum"][$i];
ausgabe:
/usr/local/bin/etherwake -i eth1 00:0f:20:76:5c:7c
scheint so OK zu sein. Aber es geht immer nocht nicht. Führe ich den Befehl manuell aus klappts.
Wie kann ich den debugmodus aufrufen oder irgendwas damit ich mehr Infos erhalte ?
MfG
j A n
-
Picknicker
- Beiträge: 654
- Registriert: 25.04.2003 16:28:02
- Wohnort: Saarland
Beitrag
von Picknicker » 02.11.2005 10:56:32
schau mal in /var/log/apache/error.log nach ob du da was erkennen kannst.
Sonst fällt mir nur noch ein das der user www-date evt. kein recht hat diese Datei auszuführen.
cu
Picknicker
-
nepos
- Beiträge: 5238
- Registriert: 05.01.2005 10:08:12
Beitrag
von nepos » 02.11.2005 12:59:24
Du hast aber PHP nicht im Safe Mode am laufen oder?
-
Joghurt
- Beiträge: 5244
- Registriert: 30.01.2003 15:27:31
- Wohnort: Hamburg
-
Kontaktdaten:
Beitrag
von Joghurt » 02.11.2005 14:21:36
Und das Skript muss auch nicht als root aufgerufen werden?