Frank Scharffenberg: Cgi auch offline

Beitrag lesen

Hi Mark!

Gibt es eigendlich auch CGI-Script die offline ausführbar sind?

CGI's können alle ausführbaren Programme sein, die auf der entsprechenden Plattform laufen. Das können C-Progamme ebenso wie Shell- oder Perl-Scripts oder sonstwas sein. Bei Perlscripts braucht man eben noch einen Interpreter. Diese Programme lesen von der Standardeingabe und schreiben auf die Standardausgabe, öffnen/lesen/schreiben Dateien im (lokalen) Filesystem. Das geht auch offline. Das besondere an CGI (Common Gateway Interface) ist, das die StandardIN/OUT in diesem Fall sozusagen der  WebServer ist.

Wenn Du nun ein Perlscript in einem DOS-Fenster aufrufst (z.B. c:\perl.exe dein_script.pl), dann liest das Script von der Kommandozeile (StdIN, in diesem Fall leer) und schreibt (print "BlaBla";) ins DOS-Fenster (StdOUT). So kann man durchaus CGI's testen, wenn man z.B. auch alle im Script definierten Pfade zu Dateien an die lokalen (offline) Gegebenheiten anpasst. Dazu bietet sich eine z.B. folgender Code an Anfang eines Scripts (hier Perl) an:

$local_test = 0;    #lokaler Test 0 -> online, 1 -> offline
if ($local_test eq '1') {
   $filepath = "d:\test\file.txt";
}else{
   $filepath = "/unix-pfad/zu/deinem/online/verzeichnis/file.txt";
}

Wenn Du aber ein CGI aus einem lokalen (also offline) HTML-File starten willst, brauchst Du einen Webserver, siehe <selfaktuell/forum/messages/56035.html>.
Zu CGI kannst Du mal das tutotial lesen: http://cgi.xwolf.com/faq/cgitutor.shtml

Gruß Frank