Ark: kein PEAR auf Server, ohne install. trotzdem PEAR machen?

hiho!

Ein Skript will 'PEAR' haben.
Auf meinem Webhost ist aber kein 'PEAR' vorhanden,
und ich habe nur einen FTP Zugang,
kann also via Shell  nichts installieren.

Gibt es eine Möglichkeit, dieses PEAR in einem Verzeichnis
upzuloaden oder sonst irgendwie verfügbar zu machen?
Ich denke mir das müsste doch  Ohne  eine Installation auch gehen
einfach in einem Ordner abgelegt oder?

Was soll ich tun?

Den Hoster kann ich nicht wechseln,  weil der Klient bei
seinem Bruder weiter gehostet bleiben will,
sich der aber weigert PEAR zu installieren.

Wenn es eine Möglichkeit gibt für mich via FTP was zu machen,
dann bitte auch sagen wie genau ausser da ist eine Webseite
die das genau beschreibt, dann die URL.

Dangge :P
  Ark

  1. Hallo,

    Was willst Du machen, wofür Du PEAR brächtest?

    Den Hoster kann ich nicht wechseln,  weil der Klient bei
    seinem Bruder weiter gehostet bleiben will,
    sich der aber weigert PEAR zu installieren.

    Irgendwie verständlich ;)

    Gruß aus Berlin!
    eddi

    1. hiho eddi!

      Was willst Du machen, wofür Du PEAR brächtest?

      Ein bestimmtes PHP Programm läuft nur mit PEAR.

      Irgendwie verständlich ;)

      Kann ich das nun via FTP machen mit upload einer Directory
      oder muss man PEAR wirklich als root installieren?

      Dangge :P
         Ark

      1. Re:

        Was willst Du machen, wofür Du PEAR brächtest?
        Ein bestimmtes PHP Programm läuft nur mit PEAR.

        in welcher Sprache ist den PEAR und in welcher Sprache ist das Pragramm verfasst?

        Gruß aus Berlin!
        eddi

        1. Hallo XaraX,

          PEAR steht fuer 'PHP Extension and Application Repository' und ist in PHP geschrieben. Um PEAR zu nutzen, muss ein entsprechender Include-Pfad gesetzt sein und PEAR muss natuerlich auch in diesem Pfad liegen.

          Gruß,

          Dieter

          1. Hallo Dieter,

            PEAR steht fuer 'PHP Extension and Application Repository' und ist in PHP geschrieben. Um PEAR zu nutzen, muss ein entsprechender Include-Pfad gesetzt sein und PEAR muss natuerlich auch in diesem Pfad liegen.

            es reicht schlicht und ergreifend die Objekte auszuschlachten, oder zu per include() einzubinden...
            Mehr an Denkleistung wollte ich nicht von Ark haben.

            Gruß aus Berlin!
            eddi

      2. Moin,

        hiho eddi!

        Was willst Du machen, wofür Du PEAR brächtest?

        Ein bestimmtes PHP Programm läuft nur mit PEAR.#

        Ich tippe drauf, dass Du ein include versuchst und der Dir meldet Datei im Verzeichniss pear .. blablabla nicht vorhanden.
        Ich tippe weiterhin, dass der Fehler zwischen deinen Ohren liegt...
        Ich tippe das der Include Pfad nicht stimmt, und das Du einfach mal versuchen solltest die zu includende Datei dahin zu kippen wie auch die Pfadangabe gesetzt ist.
        Sollte ich falsch liegen, solltest DU dein Problem genauer beschreiben.

        TomIRL

  2. » Ein Skript will 'PEAR' haben.

    Für alle, die es nicht kennnen: Das PEAR - PHP Extension and Application Repository ist zum einen ein Unterprojekt von PHP und zum anderen ein "Framework und Verteilsystem für wiederverwendbare PHP Komponenten".

    Jede Komponente (kann aus mehreren Scripts bestehen) kapselt eine bestimmte Funktionalität.

    Beispielsweise:

    • Datenbank-Abstraktionslayer
    • HTML-Formular-Behandlung
    • Template-Verwaltungen (ja, mehrere)
    • Netzwerkzugriff für verschiedene Protokolle
    • Mail incl. MIME

    Und vieles anderes mehr. Insgesamt sind es zur Zeit 388 Packages - Tendenz steigend.

    Diese Komponenten sind größtenteils PHP-Scripte, teilweise direkte PHP-Erweiterungen (PECL).

    Vorteile gegenüber dem Zusammensammeln von Einzelscripten/-komponenten aus unterschiedlichen Quellen sind eine gewisse Konsistenz im Look and Feel beim Verwenden dieser Klassen und die gegenseitige Inanspruchnahme von Funktionalitäten.

    Beispielsweise:

    • ein einheitliches Error-Objekt.
    • HTML-Formular-Komponente kann sich zur Ausgabe der Template-Verwaltung bedienen.
    • Datenquellen für verschiedene Komponenten kann die DB-Komponente sein. (z.B. um Select-Optionen durch eine SQL-Query zu füllen reicht eine Zeile Quelltext.)

    Auf meinem Webhost ist aber kein 'PEAR' vorhanden,
    und ich habe nur einen FTP Zugang,
    kann also via Shell  nichts installieren.

    Ein Shellzugriff ist (mit Ausnahmevon PECL-Packages) auch nicht notwendig.

    Gibt es eine Möglichkeit, dieses PEAR in einem Verzeichnis
    upzuloaden oder sonst irgendwie verfügbar zu machen?

    Eine Möglichkeit ist, die entsprechenden Pakete (Abhängigkeiten beachten!) downzuloaden, auszupacken und unter Beachtung der Verzeichnisstruktur zusammenzufügen. Das Ganze kann dann mit FTP zum Server übertragen werden. (Der Teil aus dem "pear"-Verzeichnis ist i.d.R. ausreichend. Es sind auch noch Dokumentations- und Test-Suite-Verzeichnisse vorhanden.)

    Das Manual beschreibt (in englischer Sprache) eine manuelle Installation und Einbindung in eigene Scripts.

    Weiterhin besteht die Möglichkeit, sich das Installationsscript zu ziehen und dies auf dem Webserver zu starten. Eine Voraussetzung dafür ist, dass ein Verzeichnis für den Webserver beschreibbar gemacht werden kann (das geht auch mit FTP).
    http://pear.php.net/manual/en/installation.shared.php#installation.shared.ftp

  3. Moin!

    Ein Skript will 'PEAR' haben.
    Auf meinem Webhost ist aber kein 'PEAR' vorhanden,
    und ich habe nur einen FTP Zugang,
    kann also via Shell  nichts installieren.

    PEAR ist eigentlich Standard bei PHP und sollte im Prinzip immer irgendwie dabei sein. Man muß es explizit ausschalten, wenn man PHP installiert/kompiliert. Deshalb die Frage: Bist du sicher, dass du kein PEAR hast? Was sagt phpinfo() zum Thema include_path? Irgendwelche Anzeichen von PEAR dort?

    Gibt es eine Möglichkeit, dieses PEAR in einem Verzeichnis
    upzuloaden oder sonst irgendwie verfügbar zu machen?

    Manuelle Installation von Packages:
    http://pear.php.net/manual/de/installation.manually.php

    Dir wird nicht unbedingt gefallen, dass die Hinzufügung des include_path (Punkt 3) in jeder Datei erledigt werden muß, die auf PEAR zurückgreift.

    Eventuell ist es möglich, diesen Wert auch per .htaccess-Datei für die Domain übergreifend zu definieren. Mußt du mal ausprobieren.

    Außerdem gibt es ein "nettes Skript" zur Installation und zum Update von PEAR-Komponenten namens "go-pear". Das läuft eigentlich als Kommandozeilenversion in der Shell, aber es gibt seit neuerem auch ein integriertes Modul, um mit dem Webbrowser damit zu arbeiten.

    Instruktionen sind unter http://pear.php.net/go-pear zu finden. Unter dieser URL kriegt man das go-pear-Skript, die Kommentare am Beginn erzählen, wie man das auch mit dem Browser zum laufen kriegt.

    Ich habe die Shell-Variante probiert, und es hat mir sehr gut gefallen - allerdings war ich root auf dem Server und hatte deswegen wenig zu leiden. ;)

    Ich denke mir das müsste doch  Ohne  eine Installation auch gehen
    einfach in einem Ordner abgelegt oder?

    Da hast du natürlich Recht. PEAR-Packages sind auch nur simple PHP-Skripte. Sie haben nur eine besondere Eigenschaft: Sie liegen im include_path. Dieser Pfad wird immer dann nach "passenden" Dateien durchsucht, wenn eine include- oder require-Anweisung auf eine Datei verweist, die nicht dort ist, wo die Pfadangabe im Befehl sagt, dass sie sei.

    Deshalb kann man bei installierten PEAR-Komponenten einfach ohne Sorge include("PEAR.php") sagen, und PHP kümmert sich um den Rest.

    Und deshalb muß man auch am include_path rumoperieren, wenn man keinen hilfreichen Hoster hat.

    Den Hoster kann ich nicht wechseln,  weil der Klient bei
    seinem Bruder weiter gehostet bleiben will,
    sich der aber weigert PEAR zu installieren.

    Ein selten dämlicher Hoster, nebenbei bemerkt.

    • Sven Rautenberg
    1. Moin Sven!

      Eventuell ist es möglich, diesen Wert auch per .htaccess-Datei für die Domain übergreifend zu definieren. Mußt du mal ausprobieren.

      Je nachdem wie PHP kompiliert wurde, kann man, wenn PHP dem Server nicht als Modul zur Seite gestellt wurde, u. U. mit einer  php.ini in den einzelen Verzeichnissen Gleiches erreichen.

      Ich habe die Shell-Variante probiert, und es hat mir sehr gut gefallen - allerdings war ich root auf dem Server und hatte deswegen wenig zu leiden. ;)

      PEAR erforgert ein CLI-Binär...

      Den Hoster kann ich nicht wechseln,  weil der Klient bei
      seinem Bruder weiter gehostet bleiben will,
      sich der aber weigert PEAR zu installieren.

      Ein selten dämlicher Hoster, nebenbei bemerkt.

      ...daher verstehe ich diese Aussage nicht. Wenn man PHP nur für den Server benötigt, ist das CLI enbehrlich. Funktionen und Objekte PEARs lassen sich auch, wie beschrieben, anderweitig nutzen. Bitte was ist daran seltendämlich?

      Gruß aus Berlin!
      eddi

      1. Moin!

        Ich habe die Shell-Variante probiert, und es hat mir sehr gut gefallen - allerdings war ich root auf dem Server und hatte deswegen wenig zu leiden. ;)

        PEAR erforgert ein CLI-Binär...

        PEAR ist die Sammlung von PHP-Skriptstücken mit nutzbringenden Funktionen.

        pear ist das Skript, welches vom PHP-CLI ausgeführt wird und ein pflegeleichtes Warten der installierten PEAR-Module erlaubt.

        go-pear ist das verlinkte Skript, welches in der Lage ist, auch einen Webinstaller zu installieren, mit dem man dann die Funktionen, die pear auf der Kommandozeile ausführt, auch per Browser regeln kann.

        Den Hoster kann ich nicht wechseln,  weil der Klient bei
        seinem Bruder weiter gehostet bleiben will,
        sich der aber weigert PEAR zu installieren.

        Ein selten dämlicher Hoster, nebenbei bemerkt.

        ...daher verstehe ich diese Aussage nicht. Wenn man PHP nur für den Server benötigt, ist das CLI enbehrlich. Funktionen und Objekte PEARs lassen sich auch, wie beschrieben, anderweitig nutzen. Bitte was ist daran seltendämlich?

        Ich finde es selten dämlich, dass ein Hoster seinem Kunden verweigert, simple, standardmäßig mitgelieferte Module für PHP zu installieren. Unter Kundenservice verstehe ich was anderes. Aber vermutlich kann der Hoster seinen Kunden, der ja gleichzeitig der Bruder ist, insgeheim wohl nicht leiden. ;-> Und das ist jetzt die Rache. ;)

        • Sven Rautenberg
        1. Moin Moin!

          PEAR erforgert ein CLI-Binär...

          PEAR ist die Sammlung von PHP-Skriptstücken mit nutzbringenden Funktionen.

          pear ist das Skript, welches vom PHP-CLI ausgeführt wird und ein pflegeleichtes Warten der installierten PEAR-Module erlaubt.

          go-pear ist das verlinkte Skript, welches in der Lage ist, auch einen Webinstaller zu installieren, mit dem man dann die Funktionen, die pear auf der Kommandozeile ausführt, auch per Browser regeln kann.

          -in der potenziellen Lage-
          Es ist mir leider nicht gelungen nach kurzen überfliegen herauszufinden, woran es lag, das bei mir nicht mal eine einziges Byte am Mozilla ausgegeben wird, vermutlich wird nicht genügent abgeprüft, ob benötigte Module vorhanden sind, oder es wird einfach keine Errormeldung generiert. Allerdings scheint demnach das CLI-Problem vom Tisch (, so das Script anderweitig seine Arbeit verrichtet).

          Gruß aus Berlin!
          eddi