PHP Anführungszeichen maskieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
j A n
Beiträge: 86
Registriert: 19.12.2004 11:16:00
Kontaktdaten:

PHP Anführungszeichen maskieren

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

Benutzeravatar
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:

Code: Alles auswählen

\" oder '
?

MfG
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

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

Benutzeravatar
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

Benutzeravatar
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.
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

Benutzeravatar
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

Benutzeravatar
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?

Benutzeravatar
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?

Antworten