Molti server HTTP bufferizzano l'output dallo script CGI fino a
quando lo script non viene completato. Questo significa che non è
possibile mostrare un report progressivo sul monitor del client
mentre lo script è in esecuzione.
Si controllino le istruzioni di installazione viste precedentemente.
Si controllino i file di log del server HTTP.
("tail -f logfile" in una finestra separata può risultare molto
utile!)
Come prima cosa si verifichi sempre uno script per gli errori di
sintassi, facendo qualcosa tipo "python script.py".
Se lo script non ha nessun errore di sintassi, si provi ad
aggiungere "import cgitb; cgitb.enable()" all'inizio dello
script.
Quando si invocano programmi esterni, ci si accerti che possano
essere trovati. Tipicamente, questo significa usare il percorso assoluto;
nello script CGI, PATH solitamente non viene impostata
ad un valore utile.
Quando si leggono o si scrivono file, ci si deve accertare che
questi possano essere scritti dall'id utente sotto il quale lo
script CGI verrà eseguito: questo è tipicamente l'id utente col
quale viene eseguito il server web, oppure l'id utente esplicitamente
specificato dalla funzionalità "suexec" del server web stesso.
Non tentare di assegnare allo script CGI un modo set-uid.
Questo non lavora sulla maggior parte dei sistemi, ed è una mancanza
di sicurezza certa.