synapse - Eigener WebServer

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

synapse - Eigener WebServer

Beitrag von pluto »

Hallo,
aus Interesse habe ich mal angefangen mit synapse ein kleinen Web Server zu basteln.
Soweit klappt das auch. Ich habe einfach das Beispiel aus den Demo Verzeichnis genommen und für Linux angepasst.

Nun möchte ich meinen Web Server PHP, PERL und soweiter beibringen.
Im Internet finde ich nix darüber wie ich das am besten machen könnte.

Ich habe versucht alle Dateien die über localhost kommen einfach blind über die PHP Anwendung laufen zu lassen und das Ergebnis an den Web Browser zu senden.
Klappt eigentlich auch, aber wenn es eine HTML Datei ist die auch noch perl Anweisungen enthält meckert der PHP Parser das er diese nicht kennt.

Nun meine Fragen:

Wie machen das Web Server im allgemeinen ?
Müssen die jede HTML Datei selber Pasen und den Code an die jeweiligen Anwendungen verteilen ?

Ich habe auch im Internet gelesen das man CGI benutzten sollte dafür. warum genau ?
und wie ? macht das sinn bei PERL und PHP ? und evlt noch MySQL ?

Wenn das alle läuft müsste doch z.b. ein PHPBB Forum auf meinem Rechner Local laufen können oder ?

Mir geht es darum sowas mal selbst gemacht zu haben. Nicht jetzt Apache oder andere Web Server zu überbieten. Sondern einfach nur aus Eigenen Interesse.

Edit01:
Wenn ich in der PHP.ini short_open_tag ausschalte geht es:

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
 <html>
   <head>
    <title>Hallo-Welt-Beispiel</title>
   </head>
   <body>
     <?php 
       echo "Hallo Welt! PHP";
     ?>
 
     <?perl
       print "Hallo Welt Perl\n";
     ?>     
   </body>
 </html>
Jetzt möchte ich noch das Perl Programm rüber laufen lassen *G*.
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Perl ist normalerweise nicht in html dateien einbeddbar. Sondern nur als cgi. Php Webseiten werden an der Endung erkannt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ach so. Also kann kein Perl innerhalb von HTML Seiten verwendet werden ?
Aber PHP.... dann ist es auch kein wunder warum ich keine beispiele dazu finde... Außer welche die Perl Dateien als Externe Datei laden.

Also kann ich das ruhig so machen wie ich es jetzt mache ?
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

php weird auch nur "als externe" geladen nur kann php html elemente enthalten bzw is daran angelehnt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ja ! Im Moment mache ich das auch so: jede HTML Datei die über Localhost kommt, wird direkt an PHP Weiter geleitet. Die Ausgaben werden dann an den Browser gesendet.

Also ist das Prinzip schon mal richtig oder wie ?
Perl Daten können also NICHT innerhalb von HTML Code Verwendet werden ?

Ist aber Interessant wie einfach das ganze doch ist.

Ein PHPBB Forum wird wohl bei mir noch nicht laufen. Bzw. Ich habe es noch nicht ausprobiert.
Ist ja auch nur zum "rumspielen" da... Evlt. baue ich daraus eine kleine Anwendung die sich in das Try Menu einklicken kann. Also das Menu neben der UHR... Ich meine dazu gibt es bereits Fertige Komponenten... Für Lazarus. Ach ja, das Programm sollte auch nur noch einmal gestartet werden können.

Was ich schade finde ist nur, wenn ich in GOOGLE "Web Server" eingebe bekomme ich nur allgemeine Infos, aber nicht wie ein "Web Server" Intern Funktioniert.

Ich möchte auch nicht unbedingt den den Soruce Code von Apache durch schauen.

Ich frage mich wie das Zusammen Spiel von allen sachen wie halt perl, php, andere Scrip Sprachen für den Browser, MYSQL und soweiter klappt.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Du musst nicht jede Anfrage an php weitergeben, nur solche mit .php als Endung.
MySQL müsste eigentlich gratis durch PHP bearbeitet werden. Da musst du afaik nicht viel machen.
Aber dein Server muss natürlich z.B. die Server-variablen bereitstellen, sonst kommst du nicht weit.
http://de3.php.net/manual/de/reserved.variables.php" onclick="window.open(this.href);return false;

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

und was mache ich mit HTML Dateien die PHP Sachen enthalten ?
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben:und was mache ich mit HTML Dateien die PHP Sachen enthalten ?
Was wohl? .html Dateien enthalten keine PHP Sachen, bzw. werden nicht geparst.
.php Dateien enthalten PHP Sachen. Das macht jeder Webserver so.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Geht das wirklich, php einbetten ? Mir ist das nur Java und VB bekannt. Wenn es gehen würde, php extrahieren, an den php weiterleiten und das Ergebnis in das HTML wieder einbetten.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Wieso so kompliziert? Das macht PHP selber.
So eine Datei wird problemlos von PHP bearbeitet:

Code: Alles auswählen

<a href="testen">test</a>
<?php
echo "test";
echo date("F j, Y");
?>
>php5 phptest.php
test
testFebruary 14, 2008

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ja, aber wenn die Datei nicht die Endung php hat....
sondern HTML... würde die ja nicht geparst werden.

Evlt. könnte ich aber prüfen ob die HTML Datei PHP-Code enthält wenn ja leite ich sie über die PHP Anwendung wenn nicht dann nicht. und das Problem währe gelöst...

@af0815 ja das geht, ich habe verschiedene Möglichkeiten gefunden PHP-Code in HTML einzubeten. In meinen Beispiel verwende ich theo Variante.
mit PERL scheint das aber nicht zu gehen.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben:ja, aber wenn die Datei nicht die Endung php hat....
sondern HTML... würde die ja nicht geparst werden.
Willst du das nicht begreifen? Ja, die wird dann nicht geparst. Von keinem Webserver. Na und?

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Aber Apache kann das. Wenn ich da eine HTML Datei habe mit der Endung HTML und der enthält code geht das.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben:Aber Apache kann das. Wenn ich da eine HTML Datei habe mit der Endung HTML und der enthält code geht das.
?? Meiner macht das nicht. Den kann man vielleicht so konfigurieren, aber Standardverhalten ist das mit Sicherheit nicht.
Vergiss es einfach.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Nein das kann apache nicht man kann ihm höchstens sagen das er alle dateien mit .html endung auch durch php jagen soll aber das macht keinen sinn.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten