Manuel B.: Pfad zum Interpreter feststellen

Hi,
ich schreibe grade an einer Software, (CMS, Groupware, Newssystem, Community, Redaktionssystem) in PHP. Jetzt habe ich eine Schnittstelle geschaffen, die es ermöglicht, PERL-Scripte einzubinden (später sollen auch noch Python, C/C++, C# usw. als Erweiterungsmodule möglich sein.)

Mein Problem beim Setup ist, das idch natürlich irgendwie an den Pfad zum Perl-Interpreter kommen muss. Bisher löse ich es so, das ich in einem Array einige bekannte Pfade habe, die dann nach der Reihe getestet werden.
Es wird also ein kleines Script in das Verzeichnis geschrieben und aufgerufen Wenn der Pfad in der ersten Zeile falsch ist, schägt das starten des Scriptes natürlich fehl und der nächste Pfad wird probiert.

Mich würde aber inteessieren, obs da ne elegantere Lösung gibt. Durch Safemode etc. ist es natürlich (berechtigterweise) nicht möglich, die Serverfestplatte nach perl bzw. perl.exe zu durchsuchen.
Auf eine Installation per Shellscript will ich verzichten, da nicht jeder Shellzugriff hat ;)

Kenn irgendwer nen Trick, um den Perlinterpreter zu finden?
Und wenn das (wie ich vermute) nicht machbar ist, wäre es gut, wenn mir jemand sagt, wo so die häufigsten Pfade zu PERL sind. (Natürlch kann der User den auch von hand eingeben, aber das Setup soll halt möglichst automatisch laufen ;)). Folgende hab ich bisher in meinem Array:

/usr/bin/perl
/usr/local/bin/perl
/usr/sbin/perl
/usr/local/sbin/perl
C:/XAMPP/perl/bin/perl.exe
D:/XAMPP/perl/bin/perl.exe
E:/XAMPP/perl/bin/perl.exe

thx4hlp

MfG
Manuel

  1. Hallo Manuel,

    was machst du denn, wenn Perl unter /home/perl bzw. unter G:\Lib\Perl installiert ist? Unter Windows könnte ich mir noch eine Suchfuktion in der Registry vorstellen, aber sicher wäre das natürlich auch nicht!

    Ganz sicher wirst du wohl nur mit einer interaktiven Abfrage sein, indem du dem Benutzer um eine Eingabe bittest, falls du Perl nicht in einem deiner vordefinierten Pfade findest, die in deinem Array abgespeichert sind!

    Greez,
    opi

    --
    Für Syntaxfehler bitte ich um Entschuldigung!
    1. Hi Opi,

      was machst du denn, wenn Perl unter /home/perl bzw. unter G:\Lib\Perl installiert ist?

      Dann bin ich angeschissen. Aus dem Grund ja die Möglichkeit der direkten eingabe. Das mit der Registry ist aber auch ein Problem. Falls ich überhaupt drauf zugreifen darf (Wegen Apache und so) muss Perl ja ad nicht drinstehen. Beim XAMPP werden keine Einträge in der Reg vorgenommen.

      Ganz sicher wirst du wohl nur mit einer interaktiven Abfrage sein, indem du dem Benutzer um eine Eingabe bittest, falls du Perl nicht in einem deiner vordefinierten Pfade findest, die in deinem Array abgespeichert sind!

      So läuft das bis jetzt auch schon. Dachte halt, ich könnte das noch weiter automatisieren. Ich hab aber befürchtet, das ich es nicht anders machen kann, als jetzt schon.

      1. Hallo,

        So läuft das bis jetzt auch schon. Dachte halt, ich könnte das noch weiter automatisieren. Ich hab aber befürchtet, das ich es nicht anders machen kann, als jetzt schon.

        Weshabl befürchtet? Du darfst nie vergessen, dass du bei einer Installation _immer_ auf die Wünsche des Benutzers eingehen solltest! Pfad der Installation, Datenumpfang... Diese kannst du aber de facto nur erfragen und das ist auch gut so.

        Welche Software gibt es schon, die zur Installation keine interaktive Abfragen beinhaltet? Automation ist recht nett, aber manchmal auch zuviel des guten. Wofür würden wir dann noch da sein, wenn alles "automatisch" ablaufen würde? :-)

        Schönen Abend noch.

        Greez,
        opi

        --
        Für Syntaxfehler bitte ich um Entschuldigung!