11.2.10 Common problems and solutions
- Most HTTP servers buffer the output from CGI scripts until the
script is completed. This means that it is not possible to display a
progress report on the client's display while the script is running.
- Check the installation instructions above.
- Check the HTTP server's log files. ("tail -f logfile" in a
separate window may be useful!)
- Always check a script for syntax errors first, by doing something
like "python script.py".
- If your script does not have any syntax errors, try adding
"import cgitb; cgitb.enable()" to the top of the script.
- When invoking external programs, make sure they can be found.
Usually, this means using absolute path names -- PATH is
usually not set to a very useful value in a CGI script.
- When reading or writing external files, make sure they can be read
or written by the userid under which your CGI script will be running:
this is typically the userid under which the web server is running, or some
explicitly specified userid for a web server's "suexec" feature.
- Don't try to give a CGI script a set-uid mode. This doesn't work on most systems, and is a security liability as well.