Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16
  1. #1
    kakalake ist offline Tripel-As
    registriert
    17-08-2000
    Beiträge
    180

    Module werden nicht gefunden

    Hallo!
    Ich habe Perl und Apche for Windows. Ich wollte das Modul CGI.pm benutzen, jedoch kann er die ModulDatein nicht finden. Perl sagt immer: "@INC hat den Inhalt .":
    Muß ich bei Apache irgendwelche Pfade noch setzten, damit er weiss wo meine Module sind. Wie ändere ich die Pfade, welche Pfade?

    Vielen Dank!

  2. #2
    Avatar von turminal
    turminal ist offline Tripel-As
    registriert
    24-05-2001
    Ort
    Planeta Terra
    Beiträge
    208
    du musst in der httpd.conf das modul noch registrieren. ein beispiel dafür gibts auch in der httpd.conf

  3. #3
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501
    also um es vorweg zu sagen: ich kenn mich mit Perl nicht unbedingt aus.....

    aber da er Perl schon zu finden und auszuführen scheint, kann es nicht an der httpf.conf liegen!!

    prinzipiell jedoch die Fragen:
    Welche Perl Version? (Active Perl ist meines Wissens die ausgereifteste Version/Distribution, aber ich verweise auf meinen ersten Satz :=) )
    Was passiert wenn Du Dein Programm über die Kommandozeile aufrufst? also starte einfach perl.exe und gebe ein:
    use CGI;
    print header ();
    print "Hello world";
    <Ctrl-Z>
    entweder spuckt er eine Fehlermeldung aus, oder Hello world... dann sollte eigentlich mit Deiner Perl Installation alles ok sein. Und wenn Du das bin Verzeichnis von Perl auch noch im Pfad hast, dann sollte der Apache des auch finden....
    Wenn Du also über Dein Skript (s.o.) noch ein
    #!c:/<Pfad zu Perl>/bin/perl.exe
    reinschreibst und das ganze ins cgi-bin Verzeichnis stopfst, dann sollte er es dort genauso ausführen...
    (andere Verzeichnisse muß man tatsächlich in der httpd.conf konfigurieren und natürlich muß man ExecCGI als generelle Option zulassen sonst mag der Apache ned)

    hoffe das hilft....

    Albu

  4. #4
    kakalake ist offline Tripel-As
    registriert
    17-08-2000
    Beiträge
    180

    Habs geschafft

    Hey vielen Dank für eure Mühen!!!!!
    Habe das Problem gefunden. Waren eigentlich 2 Problems.
    1) Habe keinen Pfad zum Perl-Interpreter und deswegen habe ich die Perl.exe und dll ins cgi-bin Verzeichnis gepackt.
    2) er hat dadurch immer im cgi-bin Pfad nach den Modulen gesucht.
    Habe das Problem behoben....

    Trotzdem vielen Dank!

  5. #5
    ShadowsMaster ist offline Haudegen
    registriert
    12-12-2000
    Ort
    Wien (Österreich)
    Beiträge
    589
    Hätte zu dem Thema auch eine kleine Frage. Hab auch Apache und Active Perl, aber wenn ich auf eine Datei mit Endung PL oder CGI gehe, dann will der Browser dieso downloaden. Wenn man sie downloadet sieht man zwar genau das, was eigentlich angezeigt werden sollte, aber ohne download wärs mir dennoch lieber

  6. #6
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501
    das hört sich so an, als ob Deine httpd.conf noch kein CGI, bzw. Perl unterstützt, vielmehr weiß Dein Apache nicht, daß .pl und .cgi Dateien was besonderes sind......

    zunächst einmal ist Apache standardmäßig so konfiguriert, daß es ein cgi-bin Verzeichnis gibt und nur in diesem lassen sich CGI oder Perl Skripte ausführen. Die Option ExecCGI erlaubt auch in anderen Verzeichnissen das Ausführen von CGIs....

    Check also nochmal Deine httpd.conf teilwseise sind da schon entsprechende Kommentare drin, die mit ein bißchen Nachgrübeln, oder einfachem Austesten selbsterklärend sind.... ansonsten kommste einfach wieder )

  7. #7
    ShadowsMaster ist offline Haudegen
    registriert
    12-12-2000
    Ort
    Wien (Österreich)
    Beiträge
    589
    Ich komm gleich wieder, weil das hab ich natürlich schon probiert Gehn übrigens auch im cgi-bin nicht.

  8. #8
    agnusdei ist offline Mitglied
    registriert
    11-09-2001
    Beiträge
    35

    Thumbs down *grmpf*

    @Albu: Was laberst du da eigentlich für totalen Müll von wegen httpd.conf??? :mad

    @ShadowsMaster:
    Meiner Ansicht nach liegt das Problem ganz eindeutig am falschen Header! Schau dir den mal genau an! Er muss einen gültigen MIME-typ enthalten und muss mit 2 Zeilen umbrüchen abgeschlossen werden (\n\n)
    Wenn du also HTML Ausgeben willst, sollte es so aussehen:
    print "Content-type: Text/html\n\n";
    bei gif's so:
    print "Content-type: image/gif\n\n";
    und bei text so:
    print "Content-type: text/plain\n\n";

    Das sollte denk ich mal dein Problem lösen!
    moderator of:
    www.buha-board.de
    www.joelh.de
    member of www.c4-coders.de

  9. #9
    ShadowsMaster ist offline Haudegen
    registriert
    12-12-2000
    Ort
    Wien (Österreich)
    Beiträge
    589
    Ist leider auch nicht die Lösung, die ich brauch, aber trotzdem danke.

    #!D:\perl\perl.exe

    print "Content-type: text/plain\n\n";
    foreach $var (sort(keys(%ENV))) {
    $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    $val =~ s|"|\\"|g;
    print "${var}=\"${val}\"\n";
    }

    Ist das Beispiel, was bei Apache dabei war, aber wie gesagt nur mit downloaden´.

  10. #10
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    Thumbs down

    @agnusdei: Hallo Spaßvogel!
    Was glaubst Du eigentlich macht die Funktion header () ???

    Und selbst wenn der Content-type fehlen würde, was nach header () nicht mehr der Fall ist, dann spuckt mein lokaler Apache einen Konfigurations-Error aus und will nicht die Datei downloaden. Denn das ist das Symptom welches hier besprochen wurde.

    Das ich zugegebenermaßen recht wenig Ahnung von Perl habe, habe ich schon in meinem ersten Reply erwähnt, zumal Perl im Vergleich zu C++ oder PHP auch extrem kryptisch ist.

    Prinzipiell habe ich meine ach so falschen Behauptungen wenigstens lokal unter Windows und Linux getestet. Aber anscheinend sind meine Abneigungen gegen Perl begründet, da diverse Verfechter dieser Sprache offensichtlich äußerst unwirsch sind.

    So jetzt kannste mich ja gerne "Flamen", ich geh jetzt wieder ins PHP Lager....

    Albu
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  11. #11
    ShadowsMaster ist offline Haudegen
    registriert
    12-12-2000
    Ort
    Wien (Österreich)
    Beiträge
    589
    Bevor hier ein Streit anfangt, misch ich mich mal ein. Ich bin auch kein Fan von Perl, da PHP meiner Meinung nach einfacher und schneller ist, aber ich bin für neue Sachen offen, also will ich mir auch Perl ein wenig anlernen. Allerdings wenn der Webserver nicht mitspielt, dann geht das etwas scher

  12. #12
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501
    Also Du solltest mal folgende Sachen checken:
    1. kannst Du die Skripte im cgi-bin Verzeichnis ausführen?? d.h. gehe per DOS in das cgi-bin Verzeichnis und starte dort printenv.pl... er sollte das Programm ausführen und die Environment Variablen anzeigen...
    2. kannst Du perl.exe einfach so starten?? (aus einem beliebigen Verzeichnis, nicht aus dem bin Verzeichnis von Perl!!)
    3. Die erste Zeile in Deinen Skripten muß auf Deinen Perl Interpreter zeigen, der Pfad muß exakt stimmen. Allerdings geht unter Windows auch ein einfaches
    #!perl.exe
    setzt allerdings voraus, daß Perl im Pfad ist (was wir in den Punkten 1 + 2 getestet haben )
    4. httpd.conf: die Zeile
    Options Indexes FollowSymLinks MultiViews ExecCGI
    erweitern (ExecCGI ist in der Regel nicht enthalten!!)
    5. irgendwo wird eine shebang Zeile erwähnt diese sollte identisch zu der ersten Zeile Deiner Skripte sein:
    #!D:\perl\perl.exe
    allerdings sollte ein tab vorne dran kommen, sonst gilt die Zeile als Kommentar (gilt sie zwar so auch, aber irgendwie scheint Apache das auseinander halten zu können)
    6. Schau, ob es eine Zeile für den Skript Alias gibt, d.h. wohin zeigt Dein cgi-bin Verzeichnis z.B.
    ScriptAlias /cgi-bin/ "C:/WebDev/Apache/cgi-bin/"

    Danach sollte eigentlich alles funktionieren, d.h. Apache neu starten, Browser auf http://localhost/cgi-bin/testenv.pl und fertig!

    hoffe das war jetzt mal ein bißchen hilfreicher

    Albu
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  13. #13
    agnusdei ist offline Mitglied
    registriert
    11-09-2001
    Beiträge
    35

    Talking

    @Albu:
    okay sorry, hab mich im Ton vergriffen!
    Ausserdem stimmt es wohl, dass, wenn du die falsche header-angabe machst der browser mit dem Format des Respondes nicht klar kommt und ihm somit nix besseres übrigbleibt, als das script zu downloaden
    passiert z.b. bei print "Conten-type: text/html\n\n"; Aber egal, das war das Prob ja nicht...

    Hm, andere Frage, ShadowsMaster, wo hast du den Server her? Schau doch mal diesen hier an, der ist schon vorkonfiguriert und alles, brauchst an sich nimmer vielzu machen:
    http://www.vogelgesang-berlin.de/ser....htm#downloads
    Hm, wenn's dann immer noch nich funzt..... *nix weiter weiß*
    moderator of:
    www.buha-board.de
    www.joelh.de
    member of www.c4-coders.de

  14. #14
    ShadowsMaster ist offline Haudegen
    registriert
    12-12-2000
    Ort
    Wien (Österreich)
    Beiträge
    589
    http://www.apache.org/
    Von dort hab ich mein Webserver und PHP4 und MySQL waren ja nicht schwer zu integrieren. Bei Perl ist anscheinend nicht nur die Sprache, sondern auch die Installation umständlich

    Naja, hab mir jetzt ActivePerl geholt und neu installiert. Selbe Problem wie vorhin, muss ich bei Perl vielleicht noch irgend etwas konfigurieren, dass es funktioniert? In der http.conf hab ich schon alles Mögliche ausprobiert, ohne Erfolg.

  15. #15
    agnusdei ist offline Mitglied
    registriert
    11-09-2001
    Beiträge
    35
    Hm. versuch dir mal den von meinem Link zu ziehen, da dürfte garantiert nix mehr schiefgehen (/me hat den auch ) Naja... und wenn ich dir die config von meinem Linux-Apache vorlese, das bringt dich auch net weiter, oder?
    P.S. Perl zu installieren sollte eigentlich net schwer sein, einfach auf www.perl.com ->irgendwo bei downloads suchen, das MSI-Package ziehen -2 mal auf die exe klicken- und feddich! Und bei Linux isses noch einfacher, da is alles schon dabei!
    moderator of:
    www.buha-board.de
    www.joelh.de
    member of www.c4-coders.de

Seite 1 von 2 12 LetzteLetzte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •