PEAR-Forum.de Übersicht Thema anzeigen - [HowTo] Eigene PEAR Installation bei Shared Hosting

[HowTo] Eigene PEAR Installation bei Shared Hosting


 

PEAR-Forum.de Übersicht » HowTo´s, Tutorials, Codebeispiele und Wissenswertes
Neues Thema eröffnen Neue Antwort erstellen Diesen Beitrag ausdrucken
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MaGdev
Site Admin


Anmeldungsdatum: 04.02.2004
Beiträge: 711
Wohnort: Hamburg

Beitrag10.06.2005 19:40    [HowTo] Eigene PEAR Installation bei Shared Hosting Antworten mit Zitat

Vefasst von Cybersmog

Was ist PEAR überhaupt?
Zitat:
PEAR (PHP Extension and Application Repository) ist ein zentrales Archiv für Klassen und Bibliotheken in PHP mit einem hohen Wiederverwendungswert. Innerhalb von PEAR existiert darüber hinaus PECL, in dem Erweiterungen für PHP, die in C und C++ geschrieben sind, enthalten sind.

Der Zweck von PEAR ist die Verbreitung nützlicher, geprüfter und qualitativ hochwertiger objekt orientierter Skripte (Packages) in PHP und Erweiterungen in C, die von allen PHP-Entwicklern genutzt werden können.

Gleichzeit sollen die Standards, die in PEAR definiert werden, dazu dienen, dass Entwickler Code schreiben können, der portabel, auf vielen anderen Systemen und Konfigurationen einsetzbar und gut lesbar ist.

Zitat von http://www.dclp-faq.de/q/q-pear-was.html

PEAR lässt sich also am ehesten mit dem CPAN für Perl vergleichen.
Über den Sinn bzw. Unsinn von PEAR kann man gerne streiten. Ich für meinen Teil benutze PEAR sehr gerne.


PEAR bei Shared Hosting Providern?
Seit PHP > 4.3.0 ist PEAR mit ein paar Basispaketen (DB, Net_Socket, Net_SMTP, Mail, XML_Parser, PHPUnit-0.6.2) bei jeder PHP Installation dabei. Auch ein paar Provider bieten diese Basispakete schon an, z.B. Host Europe. Wenn PEAR aber nun nicht angeboten wird oder man auch andere Pakete nutzen möchte, steht man im Regen. Eine Möglichkeit wäre nun, die Pakete von Hand in den Webspace zu kopieren und in die Skripten einzubinden.

Ich möchte hier aber eine viel komfortablere Möglichkeit erklären, wie man zu seiner eigenen PEAR Installation mit graphischen Frontend kommt. Dazu werde ich die Installation am Beispiel von Host Europe erklären, aber die Anleitung müsste analog auch bei anderen Providern funktionieren.


Vorbereitungen
Als erstes muss der physikalische Document Root des Webservers ermittelt werden. Dazu reicht dieses kleine Skript:
PHP:
<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

Der Output sollte in etwa so aussehen:
Code:
/is/htdocs/00000/www.domain.tld
Mein Beispiel ist jetzt von Host Europe, jeder Provider macht das etwas anders.


Installation von PEAR
  1. Als erstes braucht man das Installer Skript. Dazu ruft man http://go-pear.org/ auf (wichtig: ohne www). Man bekommt dann den Quelltext zu sehen, den man sich in einer Datei speichert. Ich nenne sie mal pearinstaller.php.

  2. Dann erstellt man im eigenen Webspace per FTP Programm ein Verzeichnis im Document Root, z.B. _pear. Auf das erstellte Verzeichnis wendet man dann noch
    Code:
    chmod 777
    an. Das ist nötig, damit später auch der Webserver Schreibrechte auf das Verzeichnis hat.

  3. In das erstellte Verzeichnis wird dann die Installerdatei, in meinem Fall pearinstaller.php hochgeladen.

  4. Per Browser ruft man die Datei dann auf: http://www.domain.tld/_pear/pearinstaller.php

  5. Man sollte dann das Installer Frontend zu Gesicht bekommen. Mit einem Klick auf next kommt man dann zur Konfiguration.
    Im Feld "Installation prefix" sollte dann schon etwas in dieser Art drinstehen:
    Code:
    /is/htdocs/00000/www.domain.tld/_pear
    Das Verzeichnis setzt sich aus dem oben ermittelten Document Root und dem Unterverzeichnis, in meinem Fall _pear, zusammen.

  6. In den Feldern 4 - 7 muss nun
    Code:
    $php_dir
    gegen
    Code:
    $prefix
    ausgetauscht werden.

    In Feld 10 wird nur
    Code:
    $prefix
    eingetragen.

  7. Das Kästchen mit der Frage nach den Standard PEAR Paketen sollte man markiert lassen.

  8. Nachdem alle Einstellungen gemacht sind, kann die Installation gestartet werden.

  9. Die Installation läuft jetzt vollautomatisch ab. Da die ganzen Pakete erst runtergeladen werden müssen, kann das eine Weile dauern. Die Installation ist fertig, wenn man am Ende der Seite den Link Start Web Frontend of the PEAR Installer zu sehen bekommt. Auf den Link klickt man dann natürlich.

  10. Wenn alles geklappt hat, bekommt man nun den Packet Manager zu sehen. Bevor man eigene Pakete installieren kann, müssen aber nochmals Einstellungen gemacht werden. Dazu klickt man links auf den Link Configuration.

  11. Auf der Konfigurationsseite müssen nun noch 3 Felder angepasst werden:
    Code:
    PEAR documentation directory: => /is/htdocs/00000/www.domain.tld/_pear/docs
    PEAR data directory: => /is/htdocs/00000/www.domain.tld/_pear/data
    PEAR test directory: => /is/htdocs/00000/www.domain.tld/_pear/tests
    Die Änderungen werden dann mit einem Klick auf den Go! Button gespeichert.

  12. Damit ist die Installation abgeschlossen und man kann loslegen.


Nach der Installation
Nach der PEAR Installation sollte man als erstes die Installer Datei (pearinstaller.php) löschen. Außerdem sollte man das Installationsverzeichnis unbedingt per .htaccess vor unberechtigtem Zugriff schützen.


Installation von PEAR Paketen
Die Pakete lassen sich über das Package Mangament nun ganz einfach per Klick auf das grüne Kreuz installieren, bzw. per Klick auf den Mülleimer deinstallieren. Über die Info Buttons kommt man an weiter Informationen.

Es empfiehlt sich, von Zeit zu Zeit auch mal auf den Link list avail. upgrades zu klicken, um an die neuesten Versionen der installierten Pakete zu kommen.


Einbinden von PEAR Paketen in eigene Skripten
Um PEAR nun nutzen zu können, müssen die Pakete natürlich auch in den Quelltext eingebunden werden. Dazu gibt es 3 Möglichkeiten:
  1. Man fügt in jede einzelne PHP Datei den Pfad manuell ein, z.B. so:
    PHP:
    <?php
    require_once '/is/htdocs/00000/www.domain.tld/_pear/PEAR/Mail/mime.php'


  2. Eine andere Möglichkeit ist, am Anfang jeder PHP Datei, in der man PEAR Pakete braucht, diese Zeile einzügen:
    PHP:
    <?php
    ini_set
    ('include_path''/is/htdocs/00000/www.domain.tld/_pear/PEAR/');
    Die einzelnen Module kann man dann relativ einfach einbinden:
    PHP:
    <?php
    require_once 'Mail/mime.php'


  3. Die eleganteste Methode meiner Meinung nach ist, sich eine .htaccess Datei mit folgendem Inhalt anzulegen:
    Code:
    php_value include_path /is/htdocs/00000/www.domain.tld/_pear/PEAR/
    Diese Datei lädt man dann per FTP in das Document Root Verzeichnis hoch. Dadurch steht dann der PEAR Include Pfad überall zur Verfügung und man braucht in den einzlnen PHP Dateien nur noch das Modul selbst einbinden:
    PHP:
    <?php
    require_once 'Mail/mime.php'


Schlußbemerkung
Was sich jetzt relativ aufwendig anhört, ist in Wirklichkeit nicht sehr schwer. Meiner Meinung nach lohnt sich der Aufwand, denn man kann jetzt jederzeit PEAR Pakete installieren, updaten oder löschen.

Allen Interessierten sei auf jeden Fall die offizielle PEAR Homepage ans Herz gelegt. Dort finden sich viele weitere Informationen und natürlich auch ein (englisches) Handbuch.

Auch im PHP Magazin, das alle 2 Monate erscheint, stehen immer wieder interessante Artikel über PEAR Pakete drin.

Feedback auf dieses Tutorial ist jederzeit erwünscht. Eventuell vorhandene Fehler werde ich natürlich korrigieren.

_________________
Auch der längste Weg beginnt immer mit einem kleinem Schritt!

Vorgehen bei Problemen:
1. PHP-Handbuch oder PEAR-Handbuch lesen!
2. Forensuche benutzen!
3. Fragen posten und dabei die Regeln beachten!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
data
Neuer User


Anmeldungsdatum: 24.02.2008
Beiträge: 3

Beitrag24.02.2008 1:11     Antworten mit Zitat

Problemfall open_basedir:

In meinem Fall gab es ein Problem bei der Installation mit dem Frontend Installer.

Die Systemconfig wurde aus irgendeinem Grund auf /usr//etc/pear.conf gesetzt.

Zur abhilfe gegen die lästige Fehlermedung das der Befehl "file_exist" nicht auf den Pfad ausserhalb des open_basedir Bereiches zugreifen darf habe ich in der Datei

/DOMAIN.com/pear/PEAR/PEAR/Config.php

folgendes geändert

PHP:
<?php

if (getenv('PHP_PEAR_SYSCONF_DIR')) {
    
define('PEAR_CONFIG_SYSCONFDIR'getenv('PHP_PEAR_SYSCONF_DIR'));
} elseif (
getenv('SystemRoot')) {
    
define('PEAR_CONFIG_SYSCONFDIR'getenv('SystemRoot'));
} else {
//    define('PEAR_CONFIG_SYSCONFDIR', PHP_SYSCONFDIR);
    
define('PEAR_CONFIG_SYSCONFDIR'$PEAR_INSTALL_DIR);
}
?>


Jetzt ist das PEAR_CONFIG_SYSCONFDIR der Pfad zu meiner Pearinstallation und es läuft ohne Probleme.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
luti
User


Anmeldungsdatum: 29.11.2008
Beiträge: 15

Beitrag27.01.2009 21:44    Update / Hinweis Antworten mit Zitat

Zwei kurze Ergänzungen:

1. Der Link http://go-pear.org/ ist veraltet, aktuell ist: http://pear.php.net/go-pear

2. Bei meiner Installation musste ich bei der Konfiguration im Feld 10 () nicht nur $prefix sonder $prefix/index.php stehen lassen, sonst gab es am Ende eine Fehlermeldung.

Die Anpassungen unter 11. waren übrigens bei mir nicht nötig ...

Grüße, luti
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Apfel007
Neuer User


Anmeldungsdatum: 03.03.2009
Beiträge: 1

Beitrag03.03.2009 16:12    hosteurope - include path Antworten mit Zitat

Hallo Luti,
tolle Anleitung hast Du geschrieben. Die Installation funktioniert. Habe auch ein Webpack bei HE.

Nur habe ich ein Problem mit dem Include path.. Ich möchte pear mit drupal verwenden.
Ich habe auch schon das mit der htaccess probiert... im root.. keine Seite war mehr zu erreichen Smile..
in der php.info steht dieses... kann das stimmen? Ich habe ja den gleichen Install.Pfad genommen wie Du.

include_path .:/usr/share/pear/php5

Hast Du einen Rat für mich? Irgend etwas muß ja falsch laufen. Wie muß der include pfad heißen?
Gruß Apfel007
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
luti
User


Anmeldungsdatum: 29.11.2008
Beiträge: 15

Beitrag03.03.2009 16:51    Re: hosteurope - include path Antworten mit Zitat

Hallo Apfel,

Apfel007 hat folgendes geschrieben:
tolle Anleitung hast Du geschrieben.


Danke, aber die Aneitung stammt gar nicht von mir - nur die Ergänzung ...

Apfel007 hat folgendes geschrieben:
in der php.info steht dieses... kann das stimmen?
include_path .:/usr/share/pear/php5


Das stimmt, ist aber der Pfad zu den standardmäßig von HE bereitgestellten Paketen (siehe http://www.pear-forum.de/ftopic2337.html).

Apfel007 hat folgendes geschrieben:
Ich habe ja den gleichen Install.Pfad genommen wie Du.


Das hoffe ich nicht ;). Dann hättest Du ja Pear auf meinem WebPack installiert ...

Apfel007 hat folgendes geschrieben:
Wie muß der include pfad heißen?


Den Pfad zu Deinem WebPack findest Du im KIS. Er sollte in etwa lauten:
/is/htdocs/wp1123456_xyz/
Daran hängst Du einfach den Pfad, in dem Du Pear bei Dir installiert hast. (z.B. /pear oder /offline/pear) Den includierst Du dann per htaccess oder ini_set() am Anfang jeden Skriptes.

Glück auf, luti[/url]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
maumi3
Neuer User


Anmeldungsdatum: 17.04.2009
Beiträge: 1

Beitrag17.04.2009 10:09    Probleme bei Hosteurope Antworten mit Zitat

Hallo zusammen,

habe versucht PEAR auf meinem Webpack bei Hosteurope zu installieren. Das Installationsskript lief auch ohne probleme durch. Allerdings kann ich danach das Frontend nicht erreichen. Ich erhalte folgende Meldung:

Warning: require_once(PEAR/Remote.php) [function.require-once]: failed to open stream: No such file or directory in /is/htdocs/wpxxxxxx_xxxxxxx/_pear/PEAR/PEAR/Frontend/Web.php on line 35

Fatal error: require_once() [function.require]: Failed opening required 'PEAR/Remote.php' (include_path='/is/htdocs/wpxxxxxx_xxxxxxx/_pear/PEAR') in /is/htdocs/wpxxxxxx_xxxxxxx/_pear/PEAR/PEAR/Frontend/Web.php on line 35

Wer hat eine Idee, woran das liegen kann?

Grüße

Maumi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Diese Seite übersetzen
PEAR-Forum.de Übersicht » HowTo´s, Tutorials, Codebeispiele und Wissenswertes
Neues Thema eröffnen Neue Antwort erstellen Diesen Beitrag ausdrucken
   Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

Zu Deinen Favoriten hinzufügen

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen