B2up.com home
   Come Scrivere Script CGI

I nostri web server UNIX sono in grado di eseguire gli script CGI che verranno collocati nella directory "cgi-local".
Gli script possono essere scritti in Perl, Unix SH, KSH, CSH, C (non in C++).
Perl è il linguaggio di programmazione preferibile in quanto standard mondiale ed esplicitamente orientato ai CGI. Inoltre, il codice Perl non richiede compilazione, mentre il codice C deve prima essere compilato sui nostri web server per poter essere utilizzato.

Ecco alcuni suggerimenti utili da seguire nell'installazione di script CGI:

Script Shell UNIX :

  1. Caricare lo script nella propria directory cgi-local ed assicurarsi che le impostazioni dei permessi di file siano corrette
  2. Trasferire i file in modalità ASCII (e NON BINARY)
  3. La prima riga di ogni script deve contenere #!/bin/sh , #!/bin/csh o #!/bin/ksh, a seconda shell script che si preferisce usare.
  4. Fare riferimento allo script usando /cgi-local (e NON /cgi-bin)
  5. Ricordare sempre di includere nello script echo "Content-type: text/html\n\n"

Script Perl :

  1. Caricare un file nella propria directory cgi-local per assicurarsi che le impostazioni dei permessi di file siano corrette
  2. Trasferire i file in modalità ASCII (e NON BINARY)
  3. La prima riga di ogni script deve riportare: #!/usr/local/bin/perl
  4. Usare il controllo di script Perl del Pannello di Controllo per controllare la sintassi.
  5. Fare riferimento allo script usando /cgi-local (e NON /cgi-bin)
  6. Ricordare sempre di includere stampa "Content-type: text/html\n\n"; o in alternativa usare il modulo Perl CGI.pm (In caso contrario, gli script non verranno eseguiti e si avrà un messaggio di Internal Server Error).
     
    use CGI qw(:cgi-lib :standard);
    print header();
Se uno script chiama un altro file all'interno dello stesso account, ma lo script NON richiede un URL, è necessario usare il path di sistema. Invece di usare il path assoluto per la directory di home ("/www26/web/una_id"), bisogna utilizzare la variabile ambientale DOCUMENT_ROOT ($ENV{DOCUMENT_ROOT} in Perl) per determinare il path dei file o dei programmi all'interno di uno script.
 
Ad esempio:
Da:
/www23/web/vostraid/data/fact.html
 
A:
$ENV{DOCUMENT_ROOT}/data/fact.html
 

 
back  top