Prima di tutto devi sapere che il tuo server ha
inviato un messaggio di errore allo stantard error (di
solito lo schermo), ma se non riesci a vedere questi
messaggi, devi controllare il log del server.FAQ
- D. Perche' il server
risponde: '404 not found'?
- R. Puo' essere che l' URL specificato non sia
corretto
- D. Perche' il server
risponde: '403 access forbidden'?
- R. Il permesso di esecuzione del file non e'
stato concesso. Devi cambiare i permessi di
accesso del file. Infatti uno script CGI e' un
file eseguibile, percio' il tuo script deve
essere eseguibile. Sui sistemi Unix devi usare il
comando 'chmod' per cambiare i permessi di
accesso al file. Il tuo server puo' girare come
'nobody' (nessuno) o usando il tuo UID (User
IDentifier). nel primo caso puoi impostare:
'chmod +x yourscript.cgi'. Nel secondo caso puoi
impostare:
'chmod u +x yourscript.cgi'
- D. Perche' il server
risponde: 'malformed header from script'?
- R. Hai inserito l' intestazione 'Content-type'?
Questa riga e' necessaria
- D. Perche' il server
risponde: '500 server error'?
- R. Beh, ci sono molte ragioni per ricevere questo
messaggio, perche' questo e' un messaggio di
errore generico, percio' puo' essere che:
- I permessi di esecuzione non sono stati
impostati correttamente (vedi la domanda
precedente)
- riga interpretata erroneamente: hai
dimenticato questa prima riga
indispensabile: #!/usr/bin/perl. Comunque
il tuo path potrebbe essere diverso,
percio' devi sapere dove si trova l'
interprete PERL
- Errore di sintassi nello script:
controlla lo standard error oppure il log
del server
- Non trovato il file richiesto: hai
richiesto una libreria tramite 'require'
o 'use', ma la libreria non puo essere
trovata
- Errore nello script in esecuzione: lo
script ha causato un errore in esecuzione
(per esempio un file non trovato una
divisione per zero e cosi' via)
- Intestazione HTTP invalida: la prima riga
di output inviata dallo script deve
sempre essere una intestazione HTTP
valida, di solito: Content-type:
text/html
- D. Perche' il browser dice:
'Document contains no data'?
- R. Significa: lo script ha inviato una valida
intestazione, ma non ha inviato ulteriori
informazioni. Cause possibili:
- Errore nello script
- Server timeout
- nessun output inviato dal tuo script
- D. Perche' il browser
visualizza il testo dello script invece di
eseguirlo?
- R. Puo' darsi che tu abbia installato lo script
nel posto sbagliato oppure il nome che gli hai
dato non e' corretto. Forse non hai installato lo
script all' interno della directory cgi-bin, o
forse il nome dello script non contiene il
suffisso 'cgi'. In questo caso infatti lo script
sara' ritornato come un normale file di testo
- D. Perche' il browser mi
chiede di salvare lo script quando tendo di
eseguirlo?
- R. Puo' darsi che lo script abbia inviato una
errata intestazione 'Content-type'. Infatti in
questo caso il tuo browser non sara' capace di
riconoscere il formato corretto (tipo
'sconosciuto') e ti chiedera' se vuoi salvarlo
|