|
- |
 |
Un
semplice CGI
Per prendere confidenza
con la realizzazione dei cgi in Perl presentiamo un semplicissimo script che consente di
stampare attraverso il browser tutte le variabili disponibili ai CGI e da questi
utilizzabili.
#!/usr/bin/perl
#
#Questa riga e' indispensabile, in sua
#mancanza l'interfaccia CGI
#ritorna un generico 'Server Error'
print "Content-type: text/html\n\n"; print "Elenco delle variabili disponibili
al CGI<p>\n";
while (($key, $val) = each %ENV) {
print "$key =
$val<BR>\n";
}
|
Copiate
questo testo in un file, per esempio test.cgi e, seguendo le indicazioni precedenti caricatelo sul server.
Se tutto e' stato fatto correttamete, invocandolo attraverso il browser alla url http://<sito>/cgi-lib/test.cgi
dovrebbe apparire qualcosa del genere:
| Elenco delle variabili
disponibili al CGI SERVER_SOFTWARE
= Apache/1.3.4 (Unix) PHP/3.0.6
GATEWAY_INTERFACE = CGI/1.1
DOCUMENT_ROOT = /home/httpd/htdocs
REMOTE_ADDR = 127.0.0.1
SERVER_PROTOCOL = HTTP/1.0
SERVER_SIGNATURE =
REQUEST_METHOD = GET
HTTP_REFERER = http://localhost/cgi-lib/
QUERY_STRING =
HTTP_USER_AGENT = Mozilla/4.06 [en] (X11; I; Linux 2.0.34 i586)
PATH = /sbin:/bin:/usr/sbin
HTTP_CONNECTION = Keep-Alive
REMOTE_PORT = 2376
HTTP_ACCEPT_LANGUAGE = en
SCRIPT_NAME = /cgi-lib/test.cgi
HTTP_ACCEPT_ENCODING = gzip
SCRIPT_FILENAME = /home/httpd/htdocs/cgi-lib/test.cgi
SERVER_NAME = localhost
REQUEST_URI = /cgi-lib/test.cgi
HTTP_ACCEPT_CHARSET = iso-8859-1,*,utf-8
SERVER_PORT = 80
HTTP_HOST = localhost
SERVER_ADMIN = root@localhost |
Nel caso
che abbiate commesso qualche errore, anche banale come la dimenticanza di un ; otterrete
un messaggio di errore assolutamente poco esplicativo, un messaggio come quello seguente
e' spesso motivo di scoraggiamento per molti sviluppatori alle prime armi:
| Internal Server Error
The server encountered an
internal error or misconfiguration and was unable to complete your request.
Please contact the server
administrator, root@localhost and inform them of the time the error occurred, and anything
you might
have done that may have caused the error.
More information about this error may be
available in the server error log. |
Un aiuto,
pur minimo, lo potrete avere dalla visione del file http://<sito>/stat/error_log
che puo' presentarsi piu' o meno come:
syntax error at
/home/httpd/htdocs/cgi-lib/test.cgi line 7, near "print"
Execution of /home/httpd/htdocs/cgi-lib/test.cgi aborted due to
compilation errors.
httpd: [Fri May 28 23:28:16 1999] [error] [client 127.0.0.1]
Premature end of script headers: /home/httpd/htdocs/cgi-lib/test.cgi |
Come si
vede vi si possono trovare indicazioni importanti ed utili sul perche' lo script sia
terminato in maniera anomala.
 |
|
Vai alla pagina
precedente |
Copyright © 1998 - Interhobby |
|
 |
- |
|