CGI stands for Common Gateway Interface and basically means any kind of program that runs on a webserver. Typically a CGI produces an HTML page as output, but may also produce an image (say a PNG or JPEG), or any other kind of file a webserver might serve.
The PERL scripting language was a crucial part of early Web (CGI) programming.
A PHP is a kind of CGI (though typically may have a more "intimate" connection and different setup on a server than other more traditional CGI languages like PERL or Python). For a very particular task or maximum performance, a CGI might even be a binary executable written in C and compiled on the server.
- See also PERL Journal
See Python CGI