kein PEAR auf Server, ohne install. trotzdem PEAR machen?
Ark
- php
0 XaraX0 Ark0 XaraX0 Dieter Raber0 XaraX
0 TomIRL
0 dedlfix0 Sven Rautenberg0 XaraX0 Sven Rautenberg0 XaraX
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
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
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
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
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
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
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
» 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:
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:
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
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.
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
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. ;)
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