![]() |
[cgi] problemen met runnen
Ik heb een cgi script voor een e-cards systeem, maar nu is het probleem dat als ik dat script op de server heb gezet en het aanroep, ik een internal server error krijg. De cmod instellingen kloppen, evenals het pad naar de perl converter.
Nu heb ik ergens gelezen dat als je een cgi in windows hebt bewerkt, en het op een linux wil laten draaien dat je dan problemen hebt. Daar zit ik dus mee, want ik zelf heb geen linux, maar de server draait daar wel mee. Is er iemand die een oplossing weet? Devino |
waarschijnlijk heb je ergens een illegaal karakter staan.
Ik had zelf ook problemen; met ActivePerl (voor Windows) kreeg ik geen fouten, maar zodra ik het uploadde wel. Voornamelijk een apestaartje (@): Windows geeft geen errors, op *nix moet er een backslash (\) voor (het 'escapen'). En natuurlijk zou je 'use strict;' kunnen gebruiken. ;) |
CGI script? :| Een PERL script dat via de CGI wordt uitgevoerd bedoel je?
Een internal server error krijg je als het script zelf een fout geeft. Opent het nog bestanden of werkt het met een database? De permissies voor alle bestanden moeten goed staan, niet alleen voor het script zelf. Daarnaast moet je rekening ermee houden dat het script in de directory zelf misschien geen bestanden kan aanmaken! It will crash and burn.. Voor de rest zie Eddie's reply. |
Bedankt allemaal.
nu is er nog 1 ding, er zit schijnbaar nog een sintax error in. Code:
print"Content-type:text/html\n\n"; printContent-type:text/html: No such file or directory index.cgi: line 123: syntax error near unexpected token `qw(p' index.cgi: line 123: `use CGI qw(param);' line 123 is waarin use cgi qw..... staat. Alvast bedankt Devino |
spatie?
|
Citaat:
|
misshien wordt de fout veroorzaakt door dingen eerder in de script. Maar dat het daar pas tot uiting komt
|
Citaat:
|
Citaat:
print FILEHANDLE LIST print LIST Het stomme is dat je een string opgeeft, dus eigenlijk mag het geen fout geven. Voor de zekerheid zou je kunnen schrijven: print {STDOUT} "Content-type:text/html\n\n"; Wat die andere fout betreft, het oproepen van een instantie met parameters: het is beter om PERL met de 'strict' optie te starten, om fouten zo snel mogelijk op te sporen. Dus aan het begin van je PERL script het volgende zetten: #!/bin/perl -w Daarnaast is CGI.pm misschien ook niet geinstalleerd op de machine. |
Citaat:
heb het in een van mijn scripts nagekeken, en daar staat hetzelfde alleen dan met spatie.. |
Alle tijden zijn GMT +1. Het is nu 10:32. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.