CGI-Programm mit Lazarus

Rund um die LCL und andere Komponenten
creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: CGI-Programm mit Lazarus

Beitrag von creed steiger »

http://wiki.lazarus.freepascal.org/fcl-web" onclick="window.open(this.href);return false;
hast du dir schonmal angeschaut?
http://wiki.lazarus.freepascal.org/Laza ... _notes#CGI" onclick="window.open(this.href);return false;
im Components Verzeichnis sind auch Demos dabei

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:

Re: CGI-Programm mit Lazarus

Beitrag von Christian »

mschnell hat geschrieben:
Christian hat geschrieben:Also bei mir klappts super :-)
Was denn ?

Ein Fast GCI Programm mit Lazarus "out of the box" erstellt, das über den Webserver mit dem Browser kommuniziert und nachweislich einen Tag am leben bleibt ?

-Michael
Das wird sich in den nächsten Tagen zeigen, hab mein Wiki jetzt auf nen Fast-CGI ungehoben, und lokal in meiner Testumgebung läufts super. Ich hebs heut auf nen neuen Server um (musste meine 1&1 Server mangels FastCGI support trotz V-Server verlassen).
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 398
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: CGI-Programm mit Lazarus

Beitrag von MitjaStachowiak »

Hm, die Lösung mit fcl-web sieht auch sehr interessant aus.
Da stand, man soll dafür das wablaz-Package installieren - das hab' ich, aber ich kann immer noch keine CGI-Anwendung bei Datei --> neu auswählen :(

Wie habt ihr das installiert?

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: CGI-Programm mit Lazarus

Beitrag von creed steiger »

Datei-->neu ?


hmm meinst du nicht vielleicht Projekt -->neues Projekt?

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 398
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: CGI-Programm mit Lazarus

Beitrag von MitjaStachowiak »

Nein, da gibt es auch nichts mit CGI.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: CGI-Programm mit Lazarus

Beitrag von mschnell »

Nachdem ich das Paket installiert habe, habe ich da:

- CGI Application
- Apache Module
. Fast CGI Appplication
- Custom FastCGI Application

-Michael

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 398
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: CGI-Programm mit Lazarus

Beitrag von MitjaStachowiak »

Jetzt geht's bei mir auch.

Mein Fehler war vielleicht, dass ich beim ersten Versuch nur auf Speichern und Dialog beenden geklickt habe. Es half dann auch nichts, es nochmal mit Speichern und IDE recompilieren zu versuchen - erst als ich Lazarus deinstalliert, den Ordner gelöscht, Lazarus wieder installiert, das Package deinstalliert, recompiliert und dann erst das Package wieder installiert und recompiliert hatte, ist Lazarus neugestartet und die Einträge waren da :shock: Ist wohl noch ein bisschen buggy...

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7325
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:

Re: CGI-Programm mit Lazarus

Beitrag von af0815 »

MitjaStachowiak hat geschrieben:Jetzt geht's bei mir auch.

Mein Fehler war vielleicht, dass ich beim ersten Versuch nur auf Speichern und Dialog beenden geklickt habe. Es half dann auch nichts, es nochmal mit Speichern und IDE recompilieren zu versuchen - erst als ich Lazarus deinstalliert, den Ordner gelöscht, Lazarus wieder installiert, das Package deinstalliert, recompiliert und dann erst das Package wieder installiert und recompiliert hatte, ist Lazarus neugestartet und die Einträge waren da :shock: Ist wohl noch ein bisschen buggy...
Manchmal hilft auch ein 'clean' oder auf der Kommandozeile ein 'make clean'
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: CGI-Programm mit Lazarus

Beitrag von mschnell »

MitjaStachowiak hat geschrieben: :shock: Ist wohl noch ein bisschen buggy...
Nee ist völlig OK. Lazarus Design-Time Pakete werden immer mit Kompilieren der IDE installiert. Die IDE hat da kein Plug-In-Konzept auf DLL-Basis (wie Delphi). Warum auch, wenn alles open source ist und das kompilieren nur wenige Sekunden dauert (zumindest unter Linux).

-Michael

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 398
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: CGI-Programm mit Lazarus

Beitrag von MitjaStachowiak »

Man muss halt ans kompilieren denken...

Also ich habe jetzt mal eine Fast CGI Application erstellt und bei OnRequest folgende Procedure eingestellt:

Code: Alles auswählen

procedure TFPWebModule1.DoRequest(Sender: TObject; ARequest: TRequest; AResponse: TResponse; var Handled: Boolean);
begin
 AResponse.ContentType := 'text/html;charset=utf-8';
 AResponse.Contents.Add('<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">');
 AResponse.Contents.Add('<HTML>');
 AResponse.Contents.Add(' <HEAD>');
 AResponse.Contents.Add('  <TITLE>Hello World</TITLE>');
 AResponse.Contents.Add(' </HEAD>');
 AResponse.Contents.Add(' <BODY>');
 AResponse.Contents.Add('  <P>Hallo, dies ist ein Test fuer CGI</P>');
 AResponse.Contents.Add(' </BODY>');
 AResponse.Contents.Add('</HTML>');
 Handled := true;
end;
Wenn ich das Programm in Apache aufrufe, wird dieses immerhin dauerhaft ausgeführt - nur leider ist die einzige Reaktion 12% CPU-Auslastung. Der Browser zeigt dann an, dass die Seite lädt, aber das gewünschte Ergebnis bleibt aus.
Was muss man noch machen?

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:

Re: CGI-Programm mit Lazarus

Beitrag von Christian »

http://www.free-erp.de/" onclick="window.open(this.href);return false;

läuft jetzt fast 2 Tage durch ohne Probleme, macht zwar noch nicht wahnsinnig viel sichtbar aber hinter den Kulissen passiert schon einiges (Sämtliche Daten kommen aus DB, kein Zugriff auf irgendwelche Verzeichnisse, bei Spammern oder Proxy Scans wird automatisch whios, geoip und co gesammelt u.s.w.)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 398
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: CGI-Programm mit Lazarus

Beitrag von MitjaStachowiak »

Custom FastCGI Application geht auch nicht (12% CPU aber keine Reaktion). Wie erstelle ich denn ein korrektes FastCGI-Projekt?
Oder hat jemand etwas Quellcode für mich?

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:

Re: CGI-Programm mit Lazarus

Beitrag von Christian »

Es sind doch examples da, die allesamt funktionieren. Wie gehst du denn vor ich denke du erwartest etwas falsches
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 398
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: CGI-Programm mit Lazarus

Beitrag von MitjaStachowiak »

Naja, ich erwarte, dass, wenn ich das FCGI-Programm im Browser aufrufe, dieses wie gewohnt eine HTML-Seite ausgibt, nur dass der Prozess hinterher weiterläuft. Bei mir wird jedoch keine HTML-Seite ausgegeben und der Prozess erzeugt ständig 12% CPU-Auslastung...

Vielleicht habe ich Tomaten auf de Augen... Aber wo sind die Beispiele?

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:

Re: CGI-Programm mit Lazarus

Beitrag von Christian »

Ach so du meinst für fcgi direkt, nein dafür musst du die cgi beispiele ändern. Wie hast dein apache konfiguriert ? Welches modul verwendest für fcgi
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten