Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [cgi] problemen met runnen (https://forum.scholieren.com/showthread.php?t=417433)

Devino 24-03-2003 19:06

[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

eddie 24-03-2003 19:11

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. ;)

Lethalis 25-03-2003 08:35

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.

Devino 26-03-2003 18:16

Bedankt allemaal.
nu is er nog 1 ding, er zit schijnbaar nog een sintax error in.

Code:

print"Content-type:text/html\n\n";
use CGI qw(param);

en daar geeft hij de volgende error over.

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

Talon 26-03-2003 18:56

spatie?

Devino 26-03-2003 18:59

Citaat:

Talon schreef op 26-03-2003 @ 19:56:
spatie?
nee, dat heb ik al geprobeerd, een spatie tussen qw en (param)

Dr HenDre 26-03-2003 19:06

misshien wordt de fout veroorzaakt door dingen eerder in de script. Maar dat het daar pas tot uiting komt

niemand 26-03-2003 19:51

Citaat:

Devino schreef op 26-03-2003 @ 19:59:
nee, dat heb ik al geprobeerd, een spatie tussen qw en (param)
mss na print?

Lethalis 27-03-2003 07:15

Citaat:

Devino schreef op 26-03-2003 @ 19:16:
Bedankt allemaal.
nu is er nog 1 ding, er zit schijnbaar nog een sintax error in.

Code:

print"Content-type:text/html\n\n";
use CGI qw(param);

en daar geeft hij de volgende error over.

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

Dat "No such file or directory" komt omdat de standaard syntax in PERL is:

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.

Talon 27-03-2003 08:10

Citaat:

niemand schreef op 26-03-2003 @ 20:51:
mss na print?
ja dacht ik ook
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.