webForumDet fria alternativet

Count 'n Log script frågor!

7 svar · 298 visningar · startad av Otto

OttoMedlem sedan apr. 200330 inlägg
#1

Här kommer ett gäng frågor ang ett script Count 'n Log 1.0.
Har bifogat alla orginal scriptfiler i zipfil.

Fråga 1:
Har lite svårt att fatta punkt 3 och 4 i readmefilen, finns det något enklare sätt att förklara "dos to unix" på?:
**********************************************
THIS SCRIPT WILL NOT WORK UNLESS YOU CHANGE IT TO UNIX FORMAT
because when you edit it, it adds hidden ^M to the end of each line and you
need to get rid of them. Here's how I do it.
**********************************************
1.) Change the script and then upload the three files by 'FTP.'
2.) 'Telnet' to your website and locate the directory where you are
storing the files, usually 'cd <filename>'. In my case, I keep them in the
directory called scripts, so i would type 'cd scripts'.
3.) Then I change the script from dos to unix by the command 'dos2unix count.cgi > count2.cgi'.
and hit enter.
4.) At the next prompt type 'mv count2.cgi > count.cgi' and enter. This moves the script from count2.cgi
back to the name count.cgi
5.) Then make it (chmod) by typing 'chmod 755 count.cgi' and then enter.
6.) The remaining two files only need to be 'chmod 766 counter.dat' and
and 'chmod 766 log.dat'.

Three of the four files enclosed need special read/write/excute properties:
count.cgi - chmod 755
log.dat - chmod 766
counter.dat - chmod 766
**********************************************

Sedan har jag lagt de 3 ovanstående filerna i min cgi-bin samt att jag i cgi-bin mappen har skapat en mapp kallad "data" enligt readmefilen.

Fråga 2:
*************************************
#This is the directory where your 'counter.dat' and 'log.dat'
#files will be kept. For instance, this counter is found on
#the page 'http://www.aestheticsurgerycenter.com/script/index.shtml'.#You MUST have the complete directory or else it won't work.
#If you don't know it, ask your service provider. This
#directory will only work at https://www.wideworldmart.com - so change it!

$directory = "/mnt/web/guide/aestheticsurgerycenter/";
**************************************
Ska jag bara skriva ($directory = "/cgi-bin/";) ? Eftersom det är där mina script ligger?

Fråga 3:
***************************************
Also, you need to add the following line to your '.html' page,
and change the extension from '.html' to '.shtml'.
<!--#exec cgi="http://www.yourdoamin.com/count.cgi"-->
-or-
<!--#exec cgi="/count.cgi"-->
***************************************
Här undrar jag var exakt lägger jag denna rad på min sida? I head eller bodyn? Jag såg att var jag än la den så var den hela tiden svagt gråmarkerad.

Fråga 4:
Kan jag bara ändra filändälse från htm-fil till shtml? Eller måsta jag ändra något mer i koden för att det ska bli en shtml-fil?

Min sida ligger på en Linuxserver (med bla php,cgi,ssi).

/Otto

:q

JojoxxMedlem sedan juni 20004 306 inlägg
#2
  1. Du kan välja att när du laddar upp filerna till servern anväda "ascii-mode" i ditt ftp-program. Detta kommer att ha samma effekt. (Altnernativt om du har en editor som kan spara i unix-format).

  2. "/cgi-bin" duger inte. Detta är alltså den lokala sökvägen på servern till den aktuella katalogen. Fråga ditt webbhotell om detta. Läs mer.

  3. Placera SSI-direktivet där du vill att räknaren skall hamna. (alltså inte i head). Läs mer.

  4. .shtml är den vanligaste filändelsen man använder för att identifiera SSI-filer (eller dokument innehållande SSI-direktiv eftersom SSI inte är ett eget filformat i den bemärkelsen). Fungerar det inte med .shtml, .shtm eller .html, .htm (en del servrar använder inte filändelsen ö.h.t. utan tolkar allt som potentiella SSI-filer. Inte så vanligt och resursslöseri). Fråga på webbhotellet hur servern är konfigurerad.

OttoMedlem sedan apr. 200330 inlägg
#3

Hur ser jag att mina script filer har blivit uppladade i "ascii-mode".?
Finns det något som visar om en fil är i "ascii-mode"?

(Jag kör med WS_FTP pro, och har fixat inställningen i "Tools/Options/Extensions")

JojoxxMedlem sedan juni 20004 306 inlägg
#4

En fil är inte i ascii-mode i den bemärkelsen - den överförs i ascii-mode. Det betyder att om ws_ftp lyckats lista ut att servern som du försöker ladda upp filerna till är en Unix-maskin och du själv använder windows så kommer radbrytningar som under windows definieras som [cr][lf] (alltså 2 fysiska tecken) omvandlas till det sätt som unix definierar radbrytningar [cr] (endast 1 tecken). Det var länge sedan jag används ws_ftp men jag har starkt för mig att inställningen "binary","ascii" eller "auto" finns direkt i huvudfönstret.

För ett testa kan du ladda upp ett enkelt "hello world"-script och se om det fungerar:

#!/usr/bin/perl

print "Content-type:text/html\n\n";
print "Hello world";
OttoMedlem sedan apr. 200330 inlägg
#5

Hmm, är ganska "grön" på allt detta än! Fattar inte riktigt hur jag testar med scriptet du skrev. Jag laddade upp den som hello.htm och kunde sen se den som html sida, var det så jag skulle testa?

I ws_ftp så har jag angett i extensions att filändelse .cgi skall laddas upp i "ascii-mode".

Så då borde det bli rätt om jag först öppnar mitt script count.cgi och gör ändringar, sedan sparar och tankar upp den i "ascii-mode".?

JojoxxMedlem sedan juni 20004 306 inlägg
#6

Om ditt webbhotell använder .cgi som extension för cgi-script skrivna i perl bör du döpa test-scriptet till någonting.cgi (och köra chmod 755 sammanågonting.cgi).

I ws_ftp så har jag angett i extensions att filändelse .cgi skall laddas upp i "ascii-mode".

Så då borde det bli rätt om jag först öppnar mitt script count.cgi och gör ändringar, sedan sparar och tankar upp den i "ascii-mode".?

Ja, det stämmer.

OttoMedlem sedan apr. 200330 inlägg
#7

Tyvärr! Jag fattar inte ditt testscript.
Jag förstår inte syftet/tillvägagångsättet/resultatet ?

JojoxxMedlem sedan juni 20004 306 inlägg
#8

Funkar ditt räknarscript behöver du inte tänka på test-scriptet, men;

Syftet: "Hello world"-script brukar användas för att med hjälp av ett så simpelt litet script som möjligt kontrollera så att alla delar i kedjan fungerar. Med just detta lilla script kan du bekräfta att sökvägen till perl-tolken stämmer, att scriptet (filen) har exekveringsrättigheter, att webbservern är rätt konfigurerad, att du använder rätt extension på scriptet.

Tillvägagångssättet: Tja... det är väl ungefär det som vi har pratat om hittils :) Ladda upp filen, sätt rättigheter, anropa den från din webbläsare.

Resultatet: Fungerar allt bör du se texten "Hello world" visas i din webbläsare.

Men som sagt. Vi behöver inte haka upp oss på detta, fungerar ditt count-script är allt frid och fröjd.

Genererad på 395 ms · cache AV · v20260730165559-full.f96bc7eb