TCP Socket Daten auswerten
Manfred
- php
Hallo,
bei mir lauscht der xinetd unter Linux auf Anfragen auf Port 7878 und führt einfach ein Shell-Script aus, welches den PHP-Code wie folgt enthält.
#!/usr/bin/php -q
<?php
print "done";
?>
Mittels fsockopen unter php als client auf Port 7878 bekommt man wunderbar "done" zurückgeliefert. Meine Frage ist, wie kann man hier mittels php, welches als CLI läuft die übermittelten Argumente in den PHP-Script einlesen und wieder zurückgeben per "print" oder sonstwie????
Die Server Globals $_SERVER["argv"] sind hier einfach leer. Hat jemand eine kreative Idee???
Manfred
Hallo,
#!/usr/bin/php -q
das CLI-Binär braucht keinen Parameter -q (den es wegen -is nich- sowieso nicht parst).
Die Server Globals $_SERVER["argv"] sind hier einfach leer. Hat jemand eine kreative Idee???
Mach mal ein print_r($GLOBALS);
in Deinem Script, dann wirst Du feststellen, daß deine maßgeblichen Variablen $argv
und $argc
sind
Gruß aus Berlin!
eddi
Hallo,
habe ich gemacht die Var $args enthält nur einen Wert im Array und das ist der Name der eigenen Datei, in diesem Fall "/myscripts/myport7878.sh". Mit dem Shell Befehl read kann ich den übermittelen Wert auslesen, warum geht das nicht auch mit PHP???
Die config unter xinetd sieht so aus:
service myport7878
{
port = 7878
protocol = tcp
socket_type = stream
wait = no
user = root
server = /myscripts/myport7878.sh
log_on_success += USERID
log_on_failure += USERID
disable = no
}
Re:
Mit dem Shell Befehl read kann ich den übermittelen Wert auslesen, warum geht das nicht auch mit PHP???
und was macht read
? Es list aus dem stdin
.
#!/usr/bin/php -q
<?php print "done"; ?>
Tjo; nichts ausgelesen - nichts erhalten. So einfach ist das, oder bekommst Du Mehl ohne es aus dem Supermarkt zu holen?
Gruß aus Berlin!
eddi