Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Uitvoeren Perl CGI script inpache2 gemaakt in WinXP probleem
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Dutch
View previous topic :: View next topic  
Author Message
Htbaa
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jan 2005
Posts: 76

PostPosted: Tue Feb 15, 2005 1:08 am    Post subject: Uitvoeren Perl CGI script inpache2 gemaakt in WinXP probleem Reply with quote

Misschien een beetje vage topic titel, maar het is het wel zo'n beetje in een notendop. In mijn topic over de partitionering van mijn laptop gaf ik aan dat ik wil web-developen onder Windows en onder Linux. Het gaat voornamelijk om Perl CGI scripts die Apache 2 moet uitvoeren.

Elke keer als ik mijn eerder gemaakte scripts wou uitvoeren onder Gentoo dan kreeg ik in de error log een misvormde header als foutmelding. Na wat puzzelen en speuren ben ik er achter gekomen dat het aan het bestandsopmaak ligt. Deze gebruikt kennelijk andere tekens dan Linux o.i.d. Bij het openen in een editor zoals Gedit zie ik het document gewoon zonder opmaakfouten. Door 'dos2unix -o script.cgi' uit te voeren wordt het document omgezet naar een correct bestandsformaat. Hierna kan Apache 2 het document wel gewoon behandelen.

Nu is dit leuk en aardig, maar ik wil dat het meteen werkt! De webserver die ik gebruik is ook een Linux server en daar draait het zonder problemen. (Misschien omdat ik in ASCII upload?) Maar het moet lokaal ook meteen werken. Is hier een instelling voor in Apache 2 of heb ik gewoon pech en mag ik alles converteren?

Edit: Ik denk ook al dat ik het antwoord gevonden heb :). Ik zie in mijn Windows Editor, Crimson Editor, dat het bestand in DOS formaat wordt opgeslagen. Doordat ik in ASCII modus upload wordt het bestand weer in UNIX formaat gezet. Ik ben er van overtuigd dat dit het antwoord is. Alleen graag nog een bevestiging :).
_________________
- Htbaa -
http://www.pcc-online.net
Back to top
View user's profile Send private message
Y z
n00b
n00b


Joined: 23 Apr 2002
Posts: 51
Location: Leiden, The Netherlands

PostPosted: Thu Feb 17, 2005 2:55 pm    Post subject: Re: Uitvoeren Perl CGI script inpache2 gemaakt in WinXP prob Reply with quote

Htbaa wrote:
Misschien een beetje vage topic titel, maar het is het wel zo'n beetje in een notendop. In mijn topic over de partitionering van mijn laptop gaf ik aan dat ik wil web-developen onder Windows en onder Linux. Het gaat voornamelijk om Perl CGI scripts die Apache 2 moet uitvoeren.

Elke keer als ik mijn eerder gemaakte scripts wou uitvoeren onder Gentoo dan kreeg ik in de error log een misvormde header als foutmelding. Na wat puzzelen en speuren ben ik er achter gekomen dat het aan het bestandsopmaak ligt. Deze gebruikt kennelijk andere tekens dan Linux o.i.d. Bij het openen in een editor zoals Gedit zie ik het document gewoon zonder opmaakfouten. Door 'dos2unix -o script.cgi' uit te voeren wordt het document omgezet naar een correct bestandsformaat. Hierna kan Apache 2 het document wel gewoon behandelen.


Voor zover ik weet doet dit alleen wat met de CR/LF characters (CR/LF -> CR)

Htbaa wrote:

Nu is dit leuk en aardig, maar ik wil dat het meteen werkt! De webserver die ik gebruik is ook een Linux server en daar draait het zonder problemen. (Misschien omdat ik in ASCII upload?) Maar het moet lokaal ook meteen werken. Is hier een instelling voor in Apache 2 of heb ik gewoon pech en mag ik alles converteren?


Apache voert de scriptjes niet uit, maar een perl interpreter. Die hebben vziw geen enkel probleem met scriptjes met een CR/LF als regelseparator.

htbaa wrote:

Edit: Ik denk ook al dat ik het antwoord gevonden heb :). Ik zie in mijn Windows Editor, Crimson Editor, dat het bestand in DOS formaat wordt opgeslagen. Doordat ik in ASCII modus upload wordt het bestand weer in UNIX formaat gezet. Ik ben er van overtuigd dat dit het antwoord is. Alleen graag nog een bevestiging :).


Lokaal == windows? Kun je lokaal het scriptje gewoon uitvoeren vanaf de command line?

Renald
_________________
Freedom does not come free.
Back to top
View user's profile Send private message
Htbaa
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jan 2005
Posts: 76

PostPosted: Thu Feb 17, 2005 3:09 pm    Post subject: Reply with quote

Ja via de command line wel. En ja ik weet ook wel dat Perl degene is die het script uitvoert, maar Apache verwerkt de output.

Op mijn laptop draai ik Gentoo en Windows XP. Doordat de meeste scripts met Windows XP zijn gemaakt maakt hij gebruik van die DOS opmaak. Als ik upload naar de server dan moet dat uiteraard in ASCII modus. Daar werken de scripts zonder problemen. Na het uitvoeren van een dos2unix op een bestand is het wel goed. Maar ik wil niet dat dit nodig is.
_________________
- Htbaa -
http://www.pcc-online.net
Back to top
View user's profile Send private message
Y z
n00b
n00b


Joined: 23 Apr 2002
Posts: 51
Location: Leiden, The Netherlands

PostPosted: Thu Feb 17, 2005 3:38 pm    Post subject: Reply with quote

Htbaa wrote:
Ja via de command line wel. En ja ik weet ook wel dat Perl degene is die het script uitvoert, maar Apache verwerkt de output.


Neh. Stuurt het alleen maar naar de client

htbaa wrote:

Op mijn laptop draai ik Gentoo en Windows XP. Doordat de meeste scripts met Windows XP zijn gemaakt maakt hij gebruik van die DOS opmaak. Als ik upload naar de server dan moet dat uiteraard in ASCII modus. Daar werken de scripts zonder problemen. Na het uitvoeren van een dos2unix op een bestand is het wel goed. Maar ik wil niet dat dit nodig is.


Ik begrijp het niet: de scripts werken wel goed (lokaal en server)? Maar de output is lokaal niet ok?

Renald
_________________
Freedom does not come free.
Back to top
View user's profile Send private message
Htbaa
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jan 2005
Posts: 76

PostPosted: Thu Feb 17, 2005 3:46 pm    Post subject: Reply with quote

De output gaat lokaal en op de server goed. Lokaal onder Windows XP werkt alles. Lokaal onder Gentoo pas als ik dos2unix heb uitgevoerd op een script. Dat is nu net wat ik wil voorkomen.
_________________
- Htbaa -
http://www.pcc-online.net
Back to top
View user's profile Send private message
Y z
n00b
n00b


Joined: 23 Apr 2002
Posts: 51
Location: Leiden, The Netherlands

PostPosted: Thu Feb 17, 2005 3:57 pm    Post subject: Reply with quote

Ik begrijp wat je wil zeggen. Maar toch vreemd dat het lokaal via de command line *wel* goed gaat---dat betekent dat PERL in ieder geval geen moeite met je script heeft. En voor zover ik weet doet Apache *niets* met je script, behalve dan het uitvoeren ervan.

Vreemd.
_________________
Freedom does not come free.
Back to top
View user's profile Send private message
Htbaa
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jan 2005
Posts: 76

PostPosted: Thu Feb 17, 2005 4:04 pm    Post subject: Reply with quote

Ik denk dat er dan niets anders op zit dan al die scripts te converteren.
_________________
- Htbaa -
http://www.pcc-online.net
Back to top
View user's profile Send private message
Y z
n00b
n00b


Joined: 23 Apr 2002
Posts: 51
Location: Leiden, The Netherlands

PostPosted: Thu Feb 17, 2005 4:10 pm    Post subject: Reply with quote

Wat zegt de error log eigenlijk?
_________________
Freedom does not come free.
Back to top
View user's profile Send private message
Htbaa
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jan 2005
Posts: 76

PostPosted: Thu Feb 17, 2005 4:27 pm    Post subject: Reply with quote

Ik zit nu onder Windows dus ik kan zo snel niet kijken. Maar hij heeft het over een malformed header. Hetzelfde krijg je als je al iets print en dan pas de header verstuurd.
_________________
- Htbaa -
http://www.pcc-online.net
Back to top
View user's profile Send private message
Y z
n00b
n00b


Joined: 23 Apr 2002
Posts: 51
Location: Leiden, The Netherlands

PostPosted: Thu Feb 17, 2005 4:31 pm    Post subject: Reply with quote

Over het algemeen kan dat ook betekenen dat je 'Content...' regels niet goed worden verstuurd, denk ik. Maar waarschijnlijk crashed het scriptje?
Back to top
View user's profile Send private message
Htbaa
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jan 2005
Posts: 76

PostPosted: Thu Feb 17, 2005 4:44 pm    Post subject: Reply with quote

Ja ik krijg de standaard 500 error. Wanneer ik CGI::Carp qw(fatalsToBrowser) gebruik maakt het nog niets uit. Perl voert de scripts via de commandline wel goed uit. Of zou het toch nog een fout van Perl moeten zijn? Ik zal in ieder geval nog een paar tests uitvoeren. Ik vind het alleen vreemd dat in de commandline het wel goed gaat.

ps: Ligt het aan mozilla of is het tekstvak hier expres zo groot gemaakt? Erg irritant.
_________________
- Htbaa -
http://www.pcc-online.net
Back to top
View user's profile Send private message
Y z
n00b
n00b


Joined: 23 Apr 2002
Posts: 51
Location: Leiden, The Netherlands

PostPosted: Thu Feb 17, 2005 4:50 pm    Post subject: Reply with quote

OK. Succes!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Dutch All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum