Indien je CGI-script niet werkt, kan dat aan meerdere dingen liggen:
1) Je hostingpakket ondersteunt geen CGI-scripts.
2) Je hebt het script niet geüpload naar de CGI-bin.
3) Je probeert een CGI-script uit te voeren op een tijdelijke URL.
4) De bestandsnaam is verkeerd.
5) De bestandsnaam of rechten zijn niet goed ingesteld.
6) Het script is niet in ASCII-mode geüpload.
7) Er is een hoofdletterprobleem.
8) De bovenste regel van het CGI-script is niet juist (Perl).
9) Er zijn fouten in het CGI-script aanwezig.
Stap 1:
Als je server versie 'lion' hebt (je kunt zien welke versie je hebt als je inlogt in het Controlpanel), dan kun je als volgt nakijken of jouw account CGI ondersteunt:
Ga via je Controlpanel naar het Technical Control Panel. Klik op de knop 'Setup'. Daar zie je een lijst met allerlei opties. Controleer hier of er op je hostingpakket CGI-scripting is toegestaan.
Als je server versie 'tiger', 'puma' of 'jaguar' hebt (je kunt zien welke versie je hebt als je inlogt in het Controlpanel), dan kun je als volgt nakijken of jouw account CGI ondersteunt:
Ga via je Controlpanel naar het Technical Control Panel. Klik op de knop 'Inrichten'. Daar zie je een lijst met allerlei opties. Controleer hier of er op je hostingpakket CGI-scripting is toegestaan.
Stap 2: Om je CGI-script te laten werken is het nodig dat dit in de cgi-bin of in een map in de cgi-bin wordt geplaatst. Dit kun je doen met een FTP-programma. Het script is dan uit te voeren via http://www.jouwdomeinnaam.com/cgi-bin/script.cgi.
Stap 3: Een tijdelijke URL is bijvoorbeeld zoiets als http://jouwdomein.com.server.alphamegahosting.com. Het is om veiligheidsredenen niet mogelijk een CGI-script uit te voeren op een tijdelijke URL. Als je domein wereldwijd actief is, kun je je site bekijken via bijvoorbeeld http://www.jouwdomeinnaam.com. Op dat definitieve adres kun je wel CGI-scripts uitvoeren, mits je hostingpakket dit ondersteunt en het script in de cgi-bin geplaatst is.
Stap 4: Om je CGI-script te laten werken is het nodig dat het bestand als extensie (wat achter de punt komt) "cgi" heeft, dus het bestand heet dan bijvoorbeeld "script.cgi". Zorg er verder ook voor dat je hoofdletters en kleine letters niet door elkaar haalt. Maak er de gewoonte van om altijd gebruik te maken van kleine letters voor bestandsnamen en extensies. Zo voorkom je het onnodig zoeken naar oplossingen voor een vrij simpel probleem.
Stap 5: Controleer of de rechten van het CGI-script goed zijn ingesteld. Deze moeten op 700 staan. Je kunt dit controleren met behulp van een FTP-programma. De rechten van een bestand kun je veranderen in een FTP-programma (lees hier hoe je dat doet).
Stap 6: Een CGI-script bestaat altijd uit tekst en moet daarom ook als ASCII-bestand i.p.v. als binary-bestand naar de server geüpload worden via FTP.
Stap 7: Linux-servers, waarop alle hostingaccounts van onze cliënten draaien, zijn hoofdlettergevoelig. Dat wil zeggen dat het verschil maakt of een woord met een hoofdletter geschreven is of met een kleine letter. Heb je bijvoorbeeld een verwijzing in het script staan naar de map 'abcd' en de map heet 'Abcd', dan zal het niet werken.
Stap 8: De bovenste regel van het script moet beginnen met: #!/usr/bin/perl als het een Perl-script is.
Stap 9: Als de stappen één tot en met acht niet het gewenste resultaat hebben opgeleverd, dan zitten er waarschijnlijk één of meerdere fouten in het CGI-script. Controleer nog eens goed de regels van je script. Kom je er niet uit, dan kun je wellicht informatie vinden op http://programmeer.pagina.nl. Hier vind je niet alleen websites over CGI, maar ook over andere programmeertalen. Een andere interessante website is http://www.cgidir.com.