Tommy: Perl-Anweisungen schon beim Start von Perl

Hallo,
gibt es die Möglichkeit, schon beim Hochfahren von Apache Perl-Befehle durchführen zu lassen (z.B. Funktionen für Datei- und Verzeichnis-Management wie chdir)?
Wo muß ich die angeben?

  1. gibt es die Möglichkeit, schon beim Hochfahren von Apache Perl-Befehle durchführen zu lassen (z.B. Funktionen für Datei- und Verzeichnis-Management wie chdir)?

    Kannst du exakter Beschreiben was du willst? Deine Frage macht so keinen Sinn.

    Struppi.

    1. gibt es die Möglichkeit, schon beim Hochfahren von Apache Perl-Befehle durchführen zu lassen (z.B. Funktionen für Datei- und Verzeichnis-Management wie chdir)?

      Kannst du exakter Beschreiben was du willst? Deine Frage macht so keinen Sinn.

      Ich weiß nicht, wie ich es noch genauer beschreiben soll.
      Ich will z.B. das Arbeitsverzeichnis mittels chdir schon beim Hochfahren ändern.

      1. Ich will z.B. das Arbeitsverzeichnis mittels chdir schon beim Hochfahren ändern.

        Das hat aber doch nichts mit Perl zu tun, dass ist eine Einstellung in der Konfiguration des Servers, je nachdem was du unter Arbeitsverzeichniss verstehst.

        Struppi.

        1. Das hat aber doch nichts mit Perl zu tun, dass ist eine Einstellung in der Konfiguration des Servers, je nachdem was du unter Arbeitsverzeichniss verstehst.

          Warum hat eine Anweisung, die ich lt. SElfhtml im Perl-Programm vornehme, nichts mit Perl zu tun?

          1. Das hat aber doch nichts mit Perl zu tun, dass ist eine Einstellung in der Konfiguration des Servers, je nachdem was du unter Arbeitsverzeichniss verstehst.
            Warum hat eine Anweisung, die ich lt. SElfhtml im Perl-Programm vornehme, nichts mit Perl zu tun?

            Weil du diese in Verbindung mit dem Server bringst. Natrülich kanst du ein Perl CGI Skript aufrufen und das Verzeichnis wechseln, nur hat das bisher nichts mit deiner Frage zu tun.

            Struppi.

            1. Hi,

              Weil du diese in Verbindung mit dem Server bringst. Natrülich kanst du ein Perl CGI Skript aufrufen und das Verzeichnis wechseln, nur hat das bisher nichts mit deiner Frage zu tun.

              Aber sicher doch! Wie ich in meiner ersten Fragestellung schon schrieb,
              möchte ich beim Hochfahren des Apache-Servers schon die entsprechende Einstellung erreichen. Dies geht entweder durch einen Eintrag des Pfades in eine Start-/Config-Datei (was mir am liebsten wäre) oder eben durch eine andere Methode (z.B. autom. Starten eines Perl-Programms beim Apache-Start).

              1. Weil du diese in Verbindung mit dem Server bringst. Natrülich kanst du ein Perl CGI Skript aufrufen und das Verzeichnis wechseln, nur hat das bisher nichts mit deiner Frage zu tun.
                Aber sicher doch! Wie ich in meiner ersten Fragestellung schon schrieb,
                möchte ich beim Hochfahren des Apache-Servers schon die entsprechende Einstellung erreichen. Dies geht entweder durch einen Eintrag des Pfades in eine Start-/Config-Datei (was mir am liebsten wäre) oder eben durch eine andere Methode (z.B. autom. Starten eines Perl-Programms beim Apache-Start).

                Das ist völliger Quatsch.
                Du kannst natürlich den Server konfigurieren wie du lustig bist, aber ein automatischer Start eines Skriptes nützt dir in dem Fall gar nichts.

                Struppi.

                1. Das ist völliger Quatsch.

                  Noch unsachlicher gehts nicht?

                  Du kannst natürlich den Server konfigurieren wie du lustig bist, aber ein automatischer Start eines Skriptes nützt dir in dem Fall gar nichts.

                  Wieso nützt dies nichts?
                  Wenn das Skript beim Hochfahren von Apache (das kann auch heißen als letzter Step im Hochfahrvorgang) gestartet wird, so hat dies doch die gleiche Wirkung wie wenn ich es 10 Millisekunden oder 30 Sekunden nach dem Hochfahren manuell starte, und da wirkt es ja nachweislich!

                  1. Das ist völliger Quatsch.
                    Noch unsachlicher gehts nicht?

                    Naja, deine Antowrten strotzen ebenfalls nicht vor Sachlickeit, du behauptest Stur die ganze Zeit etwas, offensichtlich ohne zu Wissen wovon du redest.

                    Wieso nützt dies nichts?
                    Wenn das Skript beim Hochfahren von Apache (das kann auch heißen als letzter Step im Hochfahrvorgang) gestartet wird, so hat dies doch die gleiche Wirkung wie wenn ich es 10 Millisekunden oder 30 Sekunden nach dem Hochfahren manuell starte, und da wirkt es ja nachweislich!

                    Ich kann dir null folgen, wieso sollte beim Starten des Servers ein Skript ausgeführt wird, dass das Arbeitsverzeichniss ändert - was für eines überhaupt, das vom Apache? - Einfluss auf den Server haben? Der leist seine Einstellungen aus der Konfigurationsdatei

                    Beschäftige dich doch mal mit der Dokumentation des Apache oder beschreibe so deine Problem, dass es auch andere nachvollziehen können, bisher beschreibst du nur was du denkst was du machen müßtest um ein - für uns bisher nicht nachvollziehbares Problem - zu lösen. Ich hab dir mittlerweile mehrmals gesagt, dass du natürlich den Server auch konfigurieren kannst, gerade der apache Server läßt sich extrem vielfältig einstellen, nur was du konkret willst ist bisher nicht zu erfahren gewesen. Ich kann dir nur immer wieder eines sagen, mit einem Perlskript kommst du nicht zum Ziel.

                    Struppi.

                    1. Um mich auf Dein Niveau zu begeben!
                      Gibs auf - du kapierst ja sowieso nichts - aber mitgackern!
                      Um welches Verzeichnis es geht, geht auch für mich als Anfänger schon aus der Beschreibung von chdir(schon in meinem ersten posting erwähnt) hervor. Falls du es immer noch nicht scheckst:
                      Um welches Verzeichnis es geht, geht auch für mich als Anfänger schon aus der Beschreibung von chdir(schon in meinem ersten posting erwähnt) hervor.

                      1. Um mich auf Dein Niveau zu begeben!

                        Keine Ahnung von welchem Niveau du sprichst, ich hab dir versucht zu erklären was, wo passiert und wie du evtl. zu einer Lösung kommst.

                        Gibs auf - du kapierst ja sowieso nichts - aber mitgackern!

                        Aber - um mich auf dein Niveau zu begegeben - scheint dein geistiger Horizont nicht in der Lage zu sein das irgendwie aufzunehmen.

                        Um welches Verzeichnis es geht, geht auch für mich als Anfänger schon aus der Beschreibung von chdir(schon in meinem ersten posting erwähnt) hervor. Falls du es immer noch nicht scheckst:

                        Nur den Zusammnehang zwischne dem Starten des Servers und dem Arbeitsverzeichnisses einens Perl Skriptes willst du uns nicht erzählen von daher ist hier keine Hilfe mehr möglich und anscheinend auch gar nicht erwünscht.

                        Struppi.

                      2. Hi,

                        Gibs auf - du kapierst ja sowieso nichts - aber mitgackern!

                        Wenn du dir mal aeltere Eintraege aus diesem Forum durchlesen wuerdest wuerdest du merken, dass es definitiv nicht der Fall ist, dass Struppi nichts kapiert.
                        Er hat mir auch schon mehrmals weitergeholfen.

                        Um welches Verzeichnis es geht, geht auch für mich als Anfänger schon aus der Beschreibung von chdir(schon in meinem ersten posting erwähnt) hervor. Falls du es immer noch nicht scheckst:
                        Um welches Verzeichnis es geht, geht auch für mich als Anfänger schon aus der Beschreibung von chdir(schon in meinem ersten posting erwähnt) hervor.

                        Was bringt dir ein Script, das chdir ausfuehrt? Sobald das Script beendet ist wird wieder in das Verzeichnis gewechselt, von wo das Script ausgefuehrt wurde.
                        Beispiel-Script chdir.pl:

                        #!/usr/local/bin/perl -w  
                          
                        use strict;  
                        use Cwd;  
                          
                        print "vorher: ".cwd()."\n";  
                          
                        chdir "/";  
                          
                        print "nachher: ".cwd()."\n";  
                        
                        

                        Kommandozeilenaufruf:
                        $ chdir.pl
                        vorher: /users/sstoeckl/uebungen/perl/tests
                        nachher: /
                        $ pwd
                        /users/sstoeckl/uebungen/perl/tests
                        $

                        Nachdem das Script durchgelaufen ist befindet sich man wieder im gleichen Pfad wie vorher.

                        mfG,
                        steckl

                        1. Was bringt dir ein Script, das chdir ausfuehrt? Sobald das Script beendet ist wird wieder in das Verzeichnis gewechselt, von wo das Script ausgefuehrt wurde.

                          So ist es bei mir nicht, sonst würde ich natürlich nicht so eine Frage gestellt haben. Die Konsequenz wäre ja gewesen: Vor jedem Programmaufruf Apache neu starten!
                          Ich habe in der ersten Anwendung das Verzeichnis geändert und dann nacheinander mehrere Perl-Programme aufgerufen. Alle haben noch das geänderte Verzeichnis verwendet.
                          Vielleicht ist es so wie Du sagst, wenn man Perl von der Command-line aufruft. Ich arbeite aber unter Apache.

                          1. Hi,

                            Ich habe in der ersten Anwendung das Verzeichnis geändert und dann nacheinander mehrere Perl-Programme aufgerufen. Alle haben noch das geänderte Verzeichnis verwendet.

                            Das "Wunder-Script" wuerde ich gern sehen ;-)
                            Wenndann musst du aus dem Perlscript heraus alle anderen Scripts aufrufen (z.B. mit qw()), die den Arbeitspfad des vorgaengers hatten, aber das hast du nirgends so angegeben.

                            Vielleicht ist es so wie Du sagst, wenn man Perl von der Command-line aufruft. Ich arbeite aber unter Apache.

                            Ich hab mein Script auch mal fuer den Apachen angepasst (header eingefuegt) und zweimal hintereinander (mit F5) aufgerufen. Beim zweiten Aufruf hat es wieder am Anfang das alte Arbeitsverzeichnis verwendet.

                            mfG,
                            steckl

      2. Ich will z.B. das Arbeitsverzeichnis mittels chdir schon beim Hochfahren ändern.

        Das Arbeitsverzeichnis eines Webservers lautet 127.0.0.1 oder localhost.

        Siechfred

        --
        Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
        1. Ich will z.B. das Arbeitsverzeichnis mittels chdir schon beim Hochfahren ändern.

          Das Arbeitsverzeichnis eines Webservers lautet 127.0.0.1 oder localhost.

          Naja, das ist ja hier das Problem, dass er nicht sagt was er genau will. Da der Themenbereich Perl ist, nehme ich an, das er das aktuelle Verzeichniss des Perl Skriptes meint, das man z.b. mit cwd ermitteln kann. Soweit ich weiß läßt sich das in der apache Konfiguration ebenfalls einstellen, ich erinnner mich an so konfigurierte Server, wo dies nicht automatisch das Verzeichniss war, in dem das Skript liegt, was aber heute üblich ist.

          Struppi.

          1. SELFHTML

            chdir - Verzeichnis wechseln

            Macht ein Verzeichnis zum aktuellen Arbeitsverzeichnis. So ist es möglich, nach dem Wechseln in ein Verzeichnis dort abgelegte Dateien zu öffnen, ohne sich um Pfadnamen kümmern zu müssen.

            1. SELFHTML

              chdir - Verzeichnis wechseln

              Macht ein Verzeichnis zum aktuellen Arbeitsverzeichnis. So ist es möglich, nach dem Wechseln in ein Verzeichnis dort abgelegte Dateien zu öffnen, ohne sich um Pfadnamen kümmern zu müssen.

              Du hälst dich wohl für Oberschlau.

              Da ich dir bereits x-mal gesagt habe das du auf dem Holzweg bist, bzw. aus deiner Beschreibung nicht hervorgeht was du damit willst, da der zusammenhang Server <-> Perlskript so nicht existiert und von daher deine Hilfloses rumgemaule nichts bringt, verabschiede ich mich einfach mal aus dem Thread, bringt soweiso nichts.

              Struppi.

              1. Da ich dir bereits x-mal gesagt habe das du auf dem Holzweg bist, bzw. aus deiner Beschreibung nicht hervorgeht was du damit willst, da der zusammenhang Server <-> Perlskript so nicht existiert und von daher deine Hilfloses rumgemaule nichts bringt, verabschiede ich mich einfach mal aus dem Thread, bringt soweiso nichts.

                Hatte gehofft, das wäre so, aber du hast ja 15:39 nochmals gegackert!

                1. Da ich dir bereits x-mal gesagt habe das du auf dem Holzweg bist, bzw. aus deiner Beschreibung nicht hervorgeht was du damit willst, da der zusammenhang Server <-> Perlskript so nicht existiert und von daher deine Hilfloses rumgemaule nichts bringt, verabschiede ich mich einfach mal aus dem Thread, bringt soweiso nichts.
                  Hatte gehofft, das wäre so, aber du hast ja 15:39 nochmals gegackert!

                  Muss heißen 15:42!

  2. gibt es die Möglichkeit, schon beim Hochfahren von Apache Perl-Befehle durchführen zu lassen (z.B. Funktionen für Datei- und Verzeichnis-Management wie chdir)?

    Direkt scheint es nicht zu gehen (siehe Mögliche Kommandozeilenparameter von httpd). Alles, was du einstellen willst, musst du m.E. via httpd.conf machen. Ein möglicher indirekter Ansatz wäre ein Shellscript, das die gewünschten Befehle (oder auch Perl-Scripte) vor dem Start des Apachen ausführt.

    Siechfred

    --
    Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.