InitFastCGI()

Syntax

Ergebnis = InitFastCGI(LokalerPort)
Beschreibung
Initialisiert die FastCGI-Unterstützung. Einmal aufgerufen, schalten alle CGI-Befehle automatisch auf FastCGI-Unterstützung. Diese Bibliothek unterstützt thread-basierte Verarbeitung, wenn der 'Thread-Modus' in Purebasic aktiviert wird. FastCGI-Unterstützung wird nur über einen lokalen Socket unterstützt. InitCGI() muss vor Verwendung dieses Befehls aufgerufen werden.

Im Gegensatz zu einem normalen CGI-Programm, das bei jeder Anfrage gestartet wird, bleibt das FastCGI-Programm, einmal gestartet, im Speicher und kann eine beliebige Anzahl an Anfragen bearbeiten. Dies kann sehr nützlich sein, wenn die CGI-Initialisierung zeitaufwendig ist (zum Beispiel beim Verbinden zu einer Datenbank), so dass sie nur einmal zu Beginn durchgeführt wird.

Parameter

LokalerPort Der lokale Port, an den die FastCGI-Anwendung gebunden werden soll. Der Web-Server muss so konfiguriert sein, dass dieser Port auch verwendet wird.

Rückgabewert

Gibt einen Wert ungleich Null zurück, wenn die FastCGI-Umgebung korrekt initialisiert wurde.

Anmerkungen

Die Verwendung von FastCGI kann viel einfacher für die Entwicklung sein als das Standard-CGI, da das Programm im Speicher bleiben und wie eine gewohnte Purebasic-Anwendung debuggt werden kann.

Um FastCGI-Unterstützung auf Apache zu konfigurieren, müssen Sie die 'mod_proxy' und 'mod_proxy_fcgi' Module aktivieren, und dann eine 'Proxypass' Deklaration in der Konfiguration hinzufügen:
  ProxyPass /myfastcgiapp/ fcgi://localhost:5600/
Hier wird die URL '/myfastcgiapp' auf das an den Port 5600 gebundene FastCGI-Programm umgeleitet. Es ist auch möglich, das FastCGI-Programm auf einem entfernten Server laufen zu lassen.

Beispiel

  If Not InitCGI()
    End
  EndIf
  
  If Not InitFastCGI(5600) ; Erstellen des FastCGI-Programms auf Port 5600
    End
  EndIf
  
  While WaitFastCGIRequest()
  
    If ReadCGI()
      WriteCGIHeader(#PB_CGI_HeaderContentType, "text/html", #PB_CGI_LastHeader) ; Schreibt die Header, um den Browser über das Inhaltsformat zu informieren
  
      WriteCGIString("<html><title>PureBasic - FastCGI</title><body>" +
                     "Hello from PureBasic FastCGI !<br>" +
                     "Actual time: <b>"+FormatDate("%hh:%ii", Date()) + "</b>" +
                     "</body></html>")
    EndIf
    
  Wend

Siehe auch

InitCGI(), WaitFastCGIRequest()

Unterstützte OS

Alle

<- InitCGI() - CGI Inhaltsverzeichnis - ReadCGI() ->