CGI is een oude maar nog steeds werkende manier om programma’s op de server uit te voeren en het resultaat als webpagina te tonen.
Hoe het werkt
Vraagt een bezoeker een CGI-script op, dan voert de server dat programma uit en stuurt de uitvoer terug naar de browser. Dat programma kan in Perl geschreven zijn, maar ook in Python of zelfs als shellscript.
Het verschil met PHP is dat PHP direct in de webserver draait, terwijl bij CGI voor elk verzoek een apart programma wordt gestart. Dat is trager, maar wel flexibeler in welke taal u gebruikt.
Wanneer u het nog tegenkomt
Bij oudere software die u wilt blijven gebruiken, bij scripts die iemand ooit voor u schreef, of wanneer u iets in Perl of een andere taal wilt draaien waarvoor geen PHP-alternatief bestaat.
Bouwt u iets nieuws, dan is PHP vrijwel altijd de praktischere keuze op gedeelde hosting.
Waar de scripts staan
CGI-scripts horen in de map cgi-bin in uw website-map. De server weet dat bestanden daar uitgevoerd mogen worden in plaats van getoond.
De twee dingen die altijd misgaan
Een CGI-script moet de juiste bestandsrechten hebben (uitvoerbaar, doorgaans 755) en moet beginnen met een verwijzing naar de juiste interpreter. Ontbreekt een van beide, dan krijgt u een foutmelding 500. Daarover meer in het artikel over Perl-scripts uitvoeren.