shell_exec übergibt keine 'Hochkächchen'
Athlon
- php
Guten Tag,
ich habe eine Problem mit shell_exec und zwar will ich folgenden befehl an eine Script übergeben:
$para im echo = /home/gameserver/css/srcds_run CSS_Server CSS '-game cstrike +maxplayers 8 +map de_dust2 +ip XX.XX.XX.XX +port 27015'
$output = shell_exec("sudo -H -u $coduser $para");
und des echo von $output sieht dann aber so aus:
/home/gameserver/css/srcds_run -game cstrike +maxplayers 8 +map de_dust2 +ip XX.XX.XX.XX +port 27015
Warum übermittelt er die '' nicht?? Diese Hächen braucht mein Script damit dies eine Input Var ist!
Gibt es eine möglichkeit? Was auch gehen würde sind "" anstatt '' aber dies habe ich nicht hingekommen....
ich würde mich über hilfe freuen.
MfG
Athlon
Ich würde jetzt einfach mal spontan versuchen die ' zu escapen also:
$para im echo = /home/gameserver/css/srcds_run CSS_Server CSS '-game cstrike +maxplayers 8 +map de_dust2 +ip XX.XX.XX.XX +port 27015'
Ich kann dir jetzt aber auch leider nicht garantieren ob das funktioniert aber ein Verusch kostet ja nichts :)
gruß Stefan
wenn ich es so schreiben:
/home/gameserver/css/srcds_run CSS_Server CSS '-game cstrike +maxplayers 8 +map de_dust2 +ip 84.200.243.206 +port 27015'
bekomme ich übergibt er dies:
screen -d -m -S CSS_Server /home/gameserver/css/srcds_run '-game
Da schneidet er die hälfe weg....
Und mit dem echo meine ich die Ausgabe auf dem Display z.b. <? echo "test"; ?>
Mhr warum geht das nicht so??
MfG
Lars
Mh
wie kan man das lösen?? Hat jemand ne Idee??
MfG
Athlon
Hallo Athlon,
Dein Problem ist nicht nachvollziehbar.
test.php:
#!/opt/php/php
<?php
[link:http://de3.php.net/manual/de/function.print-r.php@title=print_r]($argv);
?>
Shell-Aufruf:
$ php -r "echo [link:http://de3.php.net/manual/de/function.shell-exec.php@title=shell_exec]('/opt/php/testscripts/test.php CSS_Server CSS \'-game cstrike +maxplayers 8 +map de_dust2 +ip 84.200.243.206 +port 27015\'');
"
Ausgabe:
Array
(
[0] => /opt/php/testscripts/test.php
[1] => CSS_Server
[2] => CSS
[3] => -game cstrike +maxplayers 8 +map de_dust2 +ip 84.200.243.206 +port 27015
)
Was an Argumenten, anders als oben aufgezeigt, soll /home/gameserver/css/srcds_run übergeben werden?
Gruß aus Berlin!
eddi
Hellihello
$para im echo
Was ist Variable im echo?
Dank und Gruß,