PHP Skript mit inetd: Wie auf Daten warten?

Bash, Shell, PHP, Python, Perl, CGI
sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland

PHP Skript mit inetd: Wie auf Daten warten?

Post by sfeni » 2004-09-28 12:50

Hallo,

ich möchte mir einen kleinen "PHP4-Server" basteln. Da das Skript, aber nicht die ganze Zeit laufen soll, möchte ich gerne inetd verwenden.
Beispiel:
webcache stream tcp nowait root /root/test.php

inetd restarten und er nimmt Verbindungen auf Port 8080 entgegen.
Wenn ich nun in dem Skript was mit echo ausgeben, dann sehe ich dies auch wenn ich mit Telnet drauf gehen. Nur wie kann ich nun an das Skript Daten senden? Bzw. wie kann ich das machen, dass das Skript auf Daten wartet?
Ein Socket kann man nicht öffnen mit dem Port, da er ja schon benutzt wird. php-stdin geht auch nicht.

Hier das Skript:

Code: Select all

#!/usr/bin/php4 -q
<?php

// Welcome Message
echo "Willkommen auf dem PHP4 Mini-Server";

// Auf Daten warten


?>
Wäre nicht schlecht, wenn mir da jemand was passendes posten könnte.

Danke!!!
Sfeni

drucko
Posts: 53
Joined: 2002-09-15 16:54
Location: Steyr

Re: PHP Skript mit inetd: Wie auf Daten warten?

Post by drucko » 2004-09-28 14:18

Hallo,


Du hast den falschen Weg eingeschlagen oder wieso kompliziert wenns auch einfach geht.

Siehe hier http://de2.php.net/manual/de/function.socket-accept.php

oder die Wddx Funktionen und dann gabs da noch was( muss ich noch suchen)

mfg Drucko

sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland

Re: PHP Skript mit inetd: Wie auf Daten warten?

Post by sfeni » 2004-09-28 14:28

Wenn ich das mit sockets mache, dann muss das Skript doch die ganze Zeit laufen!? Mit inetd läuft es nur dann, wenn ich es wirklich brauche.

Oder sehe ich das falsch?

drucko
Posts: 53
Joined: 2002-09-15 16:54
Location: Steyr

Re: PHP Skript mit inetd: Wie auf Daten warten?

Post by drucko » 2004-09-28 14:33

es gibt eine erweiterung für den webserver ein mod _??
Wenn ich das mit sockets mache, dann muss das Skript doch die ganze Zeit laufen
Ist doch egal inetd läuft auch, aber wer braucht den heute schon noch
das skript verbraucht ja kein ressourcen, erst wenn du connectest


ich werde es noch suchen und dann kommst du bescheid!
mfg drucko

sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland

Re: PHP Skript mit inetd: Wie auf Daten warten?

Post by sfeni » 2004-09-28 14:45

warum nicht mit den gegebenen mitteln arbeiten.
inetd ist einfach und dafür völlig ausreichend, und ich kann mir das gedöns mit den sockets sparen.
warum also kompliziert, wenns auch einfach geht.

drucko
Posts: 53
Joined: 2002-09-15 16:54
Location: Steyr

Re: PHP Skript mit inetd: Wie auf Daten warten?

Post by drucko » 2004-09-28 14:50

warum nimmst du dann php?

php ist gerade dafür prädistiniert.
wir haben so ein ähnliches Skript mit SSL-Verschlüsselung für Transaktionen im Einsatz.
Vorteil: neuer Server und das Skript funktioniert wieder,
ausserdem würde ich einen andren Port wählen wenns kein Proxy werden soll

:)

sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland

Re: PHP Skript mit inetd: Wie auf Daten warten?

Post by sfeni » 2004-09-28 15:12

Der trennt sofort die Verbindung wenn ein nicht eingetragener Host die Verbindung aufbaut.

Nur ich kann eben noch keine Daten an den Port senden. Ich kann nur ausgeben.
Das muss doch irgendwie gehen.

Weil PHP alles kann, was ich brauche und es ist, meiner Meinung nach, einfacher als Perl.

sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland

Re: PHP Skript mit inetd: Wie auf Daten warten?

Post by sfeni » 2004-09-28 15:54

Code: Select all

#!/usr/bin/php4 -q
<?php

$stdin = fopen('php://stdin', 'r');
$buffer = fgets($stdin, 4096);
fclose ($stdin);

echo $buffer;

?>
War doch einfacher als ich gedacht habe. :-D

drucko
Posts: 53
Joined: 2002-09-15 16:54
Location: Steyr

Re: PHP Skript mit inetd: Wie auf Daten warten?

Post by drucko » 2004-09-29 10:20

siehst du.
wo ein Wille da ein Weg.

Wenn du noch Interesse hast könnte ich dir das besprochene skript von oben mal zukommen lassen (eigentlich eine Klasse)
mfg Drucko

sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland

Re: PHP Skript mit inetd: Wie auf Daten warten?

Post by sfeni » 2004-09-29 13:12

Jo, schick mal rüber. E-Mail per PM.