webForumDet fria alternativet

Perl under Windows.

6 svar · 460 visningar · startad av Ripe

RipeMedlem sedan aug. 200017 inlägg
#1

Jag vill kunna köra Perlskript lokalt, har laddat ner och installerat Apache och Perl5. Sedan har jag konfigurerat httpd.conf efter bästa förmåga. Om jag startar Apache och tittar på http://localhost eller http://127.0.0.1 i IE så får jag upp det index dokument som placerats i document-root dock kan jag inte få till en SSI (inget händer-inte ens error), går det? Om jag försöker öppna ett cgi-skript i IE blinkar istället ett DOS-fönster förbi med "kod" dvs både headern (content-type: text/html\n\n) och löptexten (i detta fall hello). Vad göra?

FlashXMedlem sedan nov. 19991 033 inlägg
#2

Tillhör kanske Apache-forumet egentligen men kolla igenom din konfigurationsfil (httpd.conf)

Du kan lägga till några egna indexfiler i raden

<IfModule mod_dir.c>
    DirectoryIndex index.htm index.html index.shtml index.php index.cgi
</IfModule>

om du vill använda fler än vad som fanns från början.

Har inget med frågan att göra utan var mer ett tips.

SSI fungerar inte som default.
Leta reda på raden
# To use server-parsed HTML files
och välj under denna vilken ändelse du vill använda. Exempelvis:
AddType text/html .shtml
AddHandler server-parsed .shtml
Förekomster av eventuell # framför måste förstås bort.

Strax ovanför finns raden # To use CGI scripts: och under den kan du t.ex ange
AddHandler cgi-script .cgi

Nu bör SSI och exekvering av CGI-script fungera utanför cgi-bin mappen.

RipeMedlem sedan aug. 200017 inlägg
#3

Tack för tipsen men mitt huvudproblem kvarstår. Har nu emellertid nått ett framsteg. Om jag öppnar ett dosfönster och exekverar skriptet så fungerar det (t.ex. kan skriptet skriva till en fil). Om man kör skriptet i NS får man upp dialogrutan "Vad vill du göra med denna fil? Öppna/Spara" (om man öppnar körs skriptet i ett dosfönster som tidigare).

SSI fungerar inte alls trots tilläggen (varken exec cgi eller include virtual).

Flytta gärna inlägget till rätt forum :).

FlashXMedlem sedan nov. 19991 033 inlägg
#4

Om du använder .pl som filändelse i dina skript, så lägger du till .pl i raden
AddHandler cgi-script .cgi

Har du testat att använda din cgi-bin mapp eller kör du i någon annan mapp?
Om du använder cgi-bin så måste sökvägen vara rätt i konfigureringsfilen.
Exempelvis
ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/"

När det gäller SSI så måste du använda det filnamn som fanns med i konfigureringsfilen. ( .shtml)

Om du inte redan gjort det, så läs gärna igenom httpd.conf rad för rad. Filen är väl kommenterad och normalt är det egentligen endast ett fåtal rader som behöver redigeras.

[Redigerat av FlashX den 22 sep 2000]

RobbanMedlem sedan dec. 19992 555 inlägg
#5

Utöver vad FlashX skriver, så kan man även ställa in Apache att behandla alla filer i en specifik katalog (ofta cgi-bin) som script. T.ex.

ScriptAlias /cgi-bin/ "C:/path/to/cgi-bin/"

<Directory "C:/path/to/cgi-bin">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
</Directory>

Apache kräver att du inleder dina script med en s.k. shebang. Har du en sådan? T.ex.

Prova med hela sökvägen till perl.exe:

#!C:/path/to/perl

Eller med:

#!perl

SSI fungerar inte alls trots tilläggen (varken exec cgi eller include virtual).

Förutom dessa tillägg kan du kolla så att SSI inte är avaktiverat för root-katalogen. Någonstans i din httpd.conf bör ett antal rader liknande dessa finnas:

<Directory "C:/path/to/htdocs">
  Options Indexes Includes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

Kolla så att alternativet "Includes" verkligen finns med enligt ovan.

En länk som kanske kan vara till hjälp:

http://www.builder.com/Servers/ApacheFiles/082400/

Om det ändå inte löser sig vore det värdefullt att få titta på din httpd.conf och på källkoden till ditt perl-script.

------------------
Robban < robban@lipogram.com >

RobbanMedlem sedan dec. 19992 555 inlägg
#6

FlashX, du hann före mig där. :)

------------------
Robban < robban@lipogram.com >

RipeMedlem sedan aug. 200017 inlägg
#7

Nu funkar det som jag vill, tack för all hjälp :).

129 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)