A cgi-t szerintem teheted mas konyvtarba,csak a server konfigot kell atirni.Suseben a cgi-t
/usr/local/htttpd/cgi-bin/-ben talalod.
Ja,a c(i)gi veszelyes,de nagyon jo:)))
Hat igen,jo dolog ez a CGI,azert kezdtem Linuxozni is:))
Roviden leirom,hogy en hogy irkalok CGI-t hatha tudok valami ujat mondani:
En perlben irom,ahogy latom ti is,es apache van a gepemen.Nekem nem kellett allitanom semmit.
/usr/local/httpd/ alatt van a cucc,de a homeokban is lehet public_html -t kreallni es ala egy cgi-bin konyvtarat,ide kerul a cgi.Mondom nalam ez a /usr/local stb alatt van oda a cgi-bin konyvtarba teszem be a cgi-ket,elotte beallitom a chmoddal a modokat.A HTML-ben az ACTION="http://atom/cgi-bin/script_neve.cgi -t szoktam beirni.Fontos,amivel szivatm egy ideig,hogy en .pl kiterjesztest adtam neki mivel ugy olvastam a webserver leirasban,hogy azzal is tud mit kezdeni.Ja,tudott is kiirta a program listajat.Szoval jobb a cgi kiterjesztes neki.A masik,amire figyelni kell,hogy acontent-type sor utan azt hiszem egy sor ures kell!!
A script elso sorat erdemes igy irni:
#/usr/bin/perl -w
Ekkor a server logba bekerul egy par sor,ha gond van.
Meg lenne mit irni,de nem akarok senkit lefarasztani,hatha tudjatok ezeket.
Csa:
Atom
Ui:
Van egy-ket jo Perl konyv erdemes oket meg venni.
Elmagyarázná valaki, hogy hol lehet a
CGI-t futtatni Linux alatt.
Az a helyzet, hogy csináltam a saját
könyvtáramban egy public_html könyvtárat.
Beleraktam a weboldalam.
A HTML és képfájlok működtek a localhoston.
Egyedül a CGI nem akart elindulni.
Kell valamit változtatni ahhoz
a httpd.conf -ban, hogy
a CGI scriptjeim működjenek ???
Állandóan a "Premature end of script"
üzenetet írta ki a httpd_error.log
fileban.
Az a furcsa, hogy a scriptet lefuttatva
a http://localhost/cgi-bin -ben
meglepetésemre működött.
Az a baj, hoy minden egyes print uj pipe-ot nyit, ha jol emlexem cgi eseten, igy a 2. printed mar leszakad a http szerverrol, csak annyit fog latni a scriptedbol, hogy "Conten-type: text/html", amibol tenyleg ugy tunik, hogy csonka (ures) script.
Egy erdekes notacio van itten a neve "here document" - egy rekurziv input. Azt mondja a printnek, hogy irkald ki ami kovetkezik, egeszen addig amig azt nem olvasod, hogy "VEGE". A VEGE helyett termeszetesen megadhatsz toled fuggo tetszoleges markert...
Segítség!
Egy form értékeit POST-tal adom fel és amikor egy perl progival kiértékelném baromságokat ad vissza. Egy darabig (2x-3x) jól működik utánna megbolondul és olyan mintha összefűzné (egymás után írná) több POST-olás eredményét.
Valaki tud segíteni?
Előre is köszi
GabE