Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Eigener Webserver mit PHP unterstützung (https://www.delphipraxis.net/117052-eigener-webserver-mit-php-unterstuetzung.html)

delphis spassbremse 10. Jul 2008 17:27


Eigener Webserver mit PHP unterstützung
 
Hallo,

ich bin gerade dabei einen Webserver zu schreiben.
Nun will ich dazu noch php interpretieren lassen.

soweit alles kein Problem, das ich ja weiß, dass ich /usr/bin/php5 aufrufen kann.

Nur stellt sich jetzt die Frage, wie ich die Cookies / Server / Get und Post Daten übergebe.



Was ich absichtlich nicht am anfang erwähnt habe:
Der Server ist in php geschrieben. (fragt nicht warum :) )
Das Script läuft auf der Kommandozeile...

Ich habe zwar überlegt, das Script per eval() interpretieren zu lassen,
aber das sehe ich als schlechte implementation an.

Testweise habe ich mal .phps Daten parsen lassen.
Der Aufruf sieht ungefähr so aus: $buffer .= shell_exec('/usr/bin/php5 -s -f '.$filename);

Vielleicht weiß ja jemand, wie ich die Daten übergebe.

Grüße,

Björn

Phoenix 10. Jul 2008 18:18

Re: Eigener Webserver mit PHP unterstützung
 
Das Stichwort was Dir fehlt ist CGI (Common Gateway Interface) oder alternativ ISAPI (Internet Server API).

Eval hat den Nachteil, dass ein Fehler im Script Deinen Webserver abkacheln lässt ;-)

delphis spassbremse 10. Jul 2008 19:08

Re: Eigener Webserver mit PHP unterstützung
 
Hi, danke für deine Antwort.

Ich hab mir mal beides durchgelesen, werde daraus aber nur gering schlauer,
wie ich sowas mit php realisieren kann.

Hast du da evtl, ne Idee, wie ich grob vorgehen könnte?

Grüße,

Björn

mkinzler 10. Jul 2008 19:16

Re: Eigener Webserver mit PHP unterstützung
 
CGI ist ein (alte) Schnittstelle von Webservern. Hierbei wird ein Programm (php-cli) extern aufgerufen. Dieses gibt seine Antwort auf stdout aus.

Phoenix 10. Jul 2008 19:25

Re: Eigener Webserver mit PHP unterstützung
 
Naja, der Trick ist eher dass der Webserver via CGI dem aufzurufenden Programm eine eigene Laufzeitumgebung zur Verfügung stellt, die es dem Programm eben erlauben auf genau die Informationen zuzugreifen, um die es hier geht.

Aber was fehlt Dir denn noch an Informationen? In dem CGI-Artikel ist doch ein Link auf die Original-Spezifikation zu finden? Genauere Infos kannst Du nun wirklich nicht bekommen. Auch der Artikel zu FastCGI bietet Dir Links auf die Spezifikationen.

delphis spassbremse 10. Jul 2008 19:43

Re: Eigener Webserver mit PHP unterstützung
 
Also wäre jetzt eine Möglichkeit,
ein weiteres PHP script zu erstellen, dass die cookies etc. per Parameter bekommt und
dann die Variablen bereitstellt und zum Schluss dann ein include auf die angefragte Datei macht...

Also, dass der Aufruf dann so aussieht:
/usr/bin/php5 -f php.php "pfad und datei" "cookies" "server" "get" "post"

lieg ich jetzt damit komplett flasch, was du meintest?

aber ne Lösung wäre es.....


Grüße,

Björn

Die Muhkuh 10. Jul 2008 19:44

Re: Eigener Webserver mit PHP unterstützung
 
Wie stell ich mir das gerade vor:

Ich brauch nen Webserver, der PHP kann, damit ich Deinen in php geschriebenen Webserver nutzen kann? :roteyes:

Phoenix 10. Jul 2008 19:48

Re: Eigener Webserver mit PHP unterstützung
 
Zitat:

Zitat von delphis spassbremse
lieg ich jetzt damit komplett flasch, was du meintest?

Ja. Les Dir doch erstmal die Spezifikationen von CGI / FastCGI durch.
Die ganzen Informationen werden nicht als Parameter übergeben, sondern innerhalb der Laufzeitumgebung als Umgebungsvariablen bzw. Teilweise via stdin in den Interpreter hineingepiped.

Also eher sowas wie:
- Neuen Prozess erzeugen
- Umgebungsvariablen setzten
- Daten wie Request etc. aufbereiten (gemäß Spezifikationen)
- Php aufrufen:
(aufbereitete Daten) | /usr/bin/php5 angeforderte.Datei
- Ausgabe auf stdout an den Client zurückschicken
- Prozess aufräumen

delphis spassbremse 10. Jul 2008 19:52

Re: Eigener Webserver mit PHP unterstützung
 
Jau danke..

Nach der Aufzählung hat klack gemacht^^


@Die Muhkuh

Nein, der Server ist in php geschrieben... der wird aus der konsole heraus gestartet...
jetzt muss er halt nur noch php können^^

Die Muhkuh 10. Jul 2008 19:57

Re: Eigener Webserver mit PHP unterstützung
 
Aber das php muss ja auch interpretiert werden. Oder startest Du einfach den Server, in dem man der php.exe Dein Script übergibt? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz