Lars: Shebang serverseitig festlegen?

Hallo ihr,

ich kenne mich mit Perl kaum aus... ich habs auf meinem Root-Server nur eingerichtet, weil es ja doch mal vorkommen mag, dass man es braucht.

Jetzt frage ich mich: Sobald eine falsche Shebang im Perlscript angegeben ist, erhalte ich einen 500er-Error. Ist klar, da ja Perl dann nicht gefunden werden kann.

Aber: Kann ich dem Server zb über die httpd.conf des Apache nicht mitteilen, wo sich Perl befindet, so dass die Shebang in den Perl-Scripten ignoriert wird?

Grüße
Lars

  1. Wie hast Du denn Perl überhaupt an Apache angebunden? Standard-CGI-Schnittstelle? FastCGI? SCGI? mod_perl?

    Übrigens kann man perl-Scripte auch mit !#$(which perl) einleiten, was die Pfadangabe unnötig macht. Das verzögert jedoch den Start um 0,033 Sekunden.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Mahlzeit,

      Übrigens kann man perl-Scripte auch mit !#$(which perl) einleiten, was die Pfadangabe unnötig macht. Das verzögert jedoch den Start um 0,033 Sekunden.

      Wie wirkt sich das auf den Rest des Servers aus? (Speicher und CPU)
      Dürfte zwar nur bei hochfrequentierten Server relevant sein aber sicher interessant zu wissen.

      1. Server, bei denen es auf Performance ankommt, würde ich grundsätzlich nicht mit einer Schnittstelle betreiben, die es erforderlich macht, den Interpreter beim Start aufzurufen.

        Gruß, LX

        --
        X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: Unusual
        X-Please-Search-Archive-First: Absolutely Yes
        1. Mahlzeit,

          Server, bei denen es auf Performance ankommt, würde ich grundsätzlich nicht mit einer Schnittstelle betreiben, die es erforderlich macht, den Interpreter beim Start aufzurufen.

          Und was ist mit Kundenservern? Nicht jeder stark frequentierte Server muss gleich ein einziges grosses Webprojekt beinhalten. Einige meiner Server verursachen mit 20 Kunden bereits ausreichend Serverlast und da ist meine Frage durchaus interessant.

          1. Vielleicht habe ich mich nicht klar genug ausgedrückt. Jeder Server, auf dem Kunden unterwegs sind, braucht ausreichende Performance. Jede einfache Möglichkeit, die Performance zu verbessern (Caching, schnellere/persistente CGI-Schnittstelle) ist daher ein Muss: Je länger ein Kunde warten muss, um so höher ist die Chance, dass er woanders hin geht.

            Gruß, LX

            --
            X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: Unusual
            X-Please-Search-Archive-First: Absolutely Yes
            1. Mahlzeit,

              Vielleicht habe ich mich nicht klar genug ausgedrückt.

              Nein, ich denke eher du hast mich  nicht verstanden.
              Ich rede von Kunden, die Webspace auf dem Server gemietet haben.

    2. Hi,

      Übrigens kann man perl-Scripte auch mit !#$(which perl) einleiten, was die Pfadangabe unnötig macht. Das verzögert jedoch den Start um 0,033 Sekunden.

      wenn man nicht weiß, wo sich der Perl-Interpreter befindet, oder grundsätzlich, um das Script portabler zu halten, können auch die Standard-Umgebungsvariablen (vor allem PATH) genutzt werden, indem

      #!/usr/bin/env perl

      als shebang genutzt wird.

      Gruß,
      Andreas.

  2. Hallo Lars!

    http://www.atomic-eggs.com/z_testdir/shebang.pl

    In diesem Script steht nur:

    #!perl -w

    als Shebang. Apache auf Linux (Debian), funzt™ aber auch auf Apache/WinXP.

    Vielleicht interessiert Dich auch dieser Teilfred: http://forum.de.selfhtml.org/archiv/2008/1/t164295/#m1074520.

    Im Übrigen: herzlichen Glückwunsch an Helmut Schmidt, der heute 90 wird, mein Dad wäre heute 88, und für morgen Frohe Weihnachten ;)

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --
    _ - jenseits vom delirium - _

       Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
    1. hi,

      In diesem Script steht nur:

      #!perl -w

      was so auch funktioniert, sofern die CGI-Umgebungs-Variable "PATH" gesetzt wurde.

      Hotti

      --
      Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.