Chapter 15. Debugging CGI Applications
So far, we’ve discussed numerous CGI applications, ranging from the trivial to the very complex, but we haven’t touched upon the techniques needed to debug them if something goes wrong. Debugging a CGI application is not much different than debugging any other type of application, because, after all, code is code. However, since a CGI application is run by a remote user across the network in a special environment created by the web server, it is sometimes difficult to pinpoint the problems.
This chapter is all about debugging CGI applications. First, we’ll examine some of the common errors that developers generally come across when implementing CGI applications. These include incorrect server configuration, permission problems, and violations of the HTTP protocol. Then, we’ll explore a few tips, tricks, and tools that will help us track down problems and develop better applications.
Common Errors
This section can serve as a checklist that you can use to diagnose common problems. Here is a list of common sources of errors:
Source of Problem |
Typical Error Message |
---|---|
Application permissions |
403 Forbidden |
The pound-bang line |
403 Forbidden |
Line endings |
500 Internal Server Error |
“Malformed” header |
500 Internal Server Error |
Let’s look at each of these in more detail.
Application Permissions
Typically, web servers are configured to run as nobody or another user with minimal access privileges. This is a great preventative step, and one that ...
Get CGI Programming with Perl, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.