Anzeige
Tutorialbeschreibung

PHP - Teil 25 - PEAR installieren und Syntax-Highlighting

PHP - Teil 25 - PEAR installieren und Syntax-Highlighting

PEAR (PHP Extension and Application Repository) ist eine Bibliothek für Klassen, Erweiterungen und Anwendungen in PHP. Fast täglich kommen neue Pakete zur PEAR-Sammlung hinzu. Eine Übersicht aller Pakete gibt es unter http://pear.php.net/.

Bilder



 
Und dort sind in der Tat mittlerweile sehr viele Pakete zu finden. Diese Vielzahl an Paketen hat einen ganz einfachen Hintergrund. Mit dem wachsenden Erfolg von PHP wuchsen nämlich auch die Ansprüche der Programmierer. Aufwendige Anwendungen konnten nicht mehr einfach nur auf Basis aneinandergereihter Befehle umgesetzt werden.

Also begannen Programmierer, eigene Klassen zu schreiben und diese in entsprechenden Foren oder auf ihrer Homepage zu veröffentlichen. Die PHP-Group war von dieser Entwicklung angetan und forcierte den Aufbau eines Klassenarchivs. Vorbilder hierfür waren die Java Foundation Classes und Perls CPAN. Es begann der Aufbau der PEAR-Webseite und die Entwicklung der Pear Coding Standards. Mittlerweile existieren zahlreiche Klassen (zum aktuellen Zeitpunkt sind es exakt 569), die es Programmierern ermöglichen, auch die komplexesten Anwendungen schnell umzusetzen.


PEAR installieren

Bei PHP5 ist PEAR standardmäßig enthalten. Wenn ihr XAMPP benutzt, ist PEAR ebenfalls bereits mit an Bord. Ihr könnt das überprüfen, indem ihr das XAMPP-Verzeichnis aufruft. Darin liegt das Verzeichnis PEAR als Unterverzeichnis von php.

Bilder



 
Es kann allerdings durchaus sein, dass PEAR nicht vorhanden ist. Das hat normalerweise zwei Gründe:

• PHP wurde mit der Option --without-pear kompiliert, wodurch PEAR explizit von der Installation ausgeschlossen wurde.

• PHP wurde mit der Option --disable-cli kompiliert, wodurch das Erzeugen von CLI-Binaries verhindert wird. Verwendet man diese Option, wird automatisch auch --without-pear gesetzt.

In diesen Fällen könnt ihr PEAR nachträglich installieren. Auf Unix-Systemen gibt man dazu Folgendes in der Kommandozeile ein:

$ lynx –source http://pear.php.net/go-pear | php

Auf einigen Unix-Systemen müsst ihr anstelle von lynx möglicherweise links eingeben. Wer die Kommandozeilen-Version von PHP installiert hat, muss das q-Flag für PHP entfernen.

Am Mac lässt sich PEAR ebenfalls sehr einfach installieren.

$ curl http://pear.php.net/go-pear | sudo php

 
Wenn ihr unter Windows arbeitet, gibt es verschiedene Wege zur Installation. Ich beschreibe hier den aus meiner Sicht einfachsten. Bei diesem wird PEAR manuell installiert.

Ladet auch von der Seite http://pear.php.net/package/PEAR/download das PEAR-Core-Paket herunter. Folgt dazu dem Download-Link im oberen Fensterbereich.

Bilder



 
Das heruntergeladene Zip-Archiv muss nach dem Download entpackt werden.

Öffnet nun das PHP-Installationsverzeichnis (z.B. C:\PHP). Jetzt kann das zuvor entpackte PEAR-Verzeichnis ins PHP-Verzeichnis kopiert oder verschoben werden.


Include-Pfad anlegen

Unter Windows muss das Installationsverzeichnis in den sogenannten include_path der php.ini aufgenommen werden. (Alternativ dazu lässt sich das auch über die .htaccess erledigen, was der Übersichtlichkeit halber an dieser Stelle aber nicht beschrieben wird.)

Öffnet die php.ini und sucht dort nach der include_path-Zeile.

include_path = ".;C:\php\includes"

Kommentiert diese Zeile aus, indem ihr davor ein Semikolon setzt.

;include_path = ".;C:\php\includes"

Anstelle der alten Zeile fügt ihr den folgenden Eintrag hinzu. (Alternativ dazu könnt ihr natürlich auch den alten Eintrag überschreiben; das bleibt letztendlich euch überlassen.)

include_path = ".;C:\php\PEAR"

Wenn ihr zusätzliche Include-Pfade angeben wollt, könnt ihr das durch Hinzufügen eines weiteren Eintrags erledigen. Dieser Eintrag muss dann allerdings durch ein Semikolon getrennt notiert werden.

include_path = ".;C:\php\PEAR;C:\nocheinpfad\inc"

Ab sofort können die Include-Pfade genutzt werden. Angenommen also, man fügt die folgende Zeile in eine PHP-Datei ein:

<?require_once("Text/Highlighter.php");?>

In diesem Fall weiß PHP, dass die einzubindende Datei unter folgendem Pfad zu finden ist:

C:\php\PEAR\Text\Highlighter.php

Man muss also nicht mehr explizit C:\php\PEAR notieren, da ja der Include-Pfad in der php.ini spezifiziert wurde.


 

PEAR-Module beim Provider installieren

Beim Provider hat man normalerweise keine ausreichenden Rechte, um PEAR auf dem gezeigten Weg zu installieren. Dennoch will (und kann) man dort natürlich nicht auf den Einsatz von PEAR verzichten. Um PEAR beim ISP zu installieren, müsst ihr etwas trickreicher vorgehen. Dazu legt man per FTP ein Bibliotheksverzeichnis für die PEAR-Module an. Anschließend kann der Befehl ini_set verwendet werden, um dieses Verzeichnis dem Include-Pfad hinzuzufügen. Dazu fügt ihr den folgenden Code am besten in jede Datei (wahlweise in den PHP-Header) ein, die PEAR verwenden soll. Dabei muss der Code unbedingt definiert werden, bevor auf die PEAR-Module zugegriffen wird.

<?php
 ini_set('include_path',
 ini_get('include_path').PATH_SEPARATOR."/users/psd/blibliothek");
?>

Durch die gezeigte Syntax wird das Verzeichnis /users/psd/blibliothek in die Liste von Pfaden aufgenommen, die von den beiden Direktiven require und include verwendet werden. Anschließend kann man die gewünschten PEAR-Pakete einsetzen. Eine sehr ausführliche Anleitung dazu, wie ihr PEAR beim Provider installieren könnt, findet ihr auch unter http://www.flashforum.de/forum/php-und-mysql/tutorial-eigene-pear-installation-bei-shared-hosting-providern-112997.html .


PEAR und XAMPP

XAMPP bringt bereits ein PEAR-Verzeichnis mit, in dem die Standardpakete enthalten sind. Dort lassen sich neue Pakete dann ganz einfach hinzufügen. Ruft dazu die Windows-Eingabe (Start/cmd) auf und gebt nacheinander die folgenden Befehle ein:

cd C:\xampplite\php
pear install <Paket>


Wobei dann <Paket> jeweils durch den tatsächlichen Paketnamen ersetzt werden muss.


 

Ein erster Test

Um zu testen, wie sich PEAR nutzen lässt, wird nachfolgend das Paket Text_Highlighter manuell installiert. Ihr könnt das natürlich auch direkt über den PEAR-Installer erledigen.

Auf der Webseite http://pear.php.net/ findet ihr den Menüpunkt Packages. Hierüber gelangt ihr zur Paket-Übersicht.

Bilder



 
Klickt dort auf den Eintrag Text.

Bilder



 
Jetzt werden alle PEAR-Pakete angezeigt, die etwas mit Text zu haben. Ladet euch das Paket Text_Highlighter herunter. Folgt dazu dem Download-Link.

Bilder



 
Klickt nun auf den unterstrichenen Versionsnamen.

Bilder



 
Das Paket wird als tgz-Archiv heruntergeladen. Entpackt das Archiv und benennt es am besten in "Text" um. Kopiert das umbenannte Verzeichnis nun ins PEAR-Verzeichnis. Die Installation des Paketes ist somit abgeschlossen.

Nach der Installation der PEAR-Pakete können diese prinzipiell immer auf die gleiche Weise verwendet werden. Leider kann es vereinzelt vorkommen, dass der hier beschriebene Weg nicht funktioniert. In diesen Fällen hilft zumeist ein Blick in die normalerweise jedem Paket beigefügte Dokumentation. Sollte das Paket keine Dokumentation enthalten, sind zumeist Erläuterungen im Quelltext der Paket-Klassen vorhanden.

Um Pakete zu verwenden, wird die folgende Syntax verwendet:

require_once("Text/Highlighter.php");

Über include_once() oder require_once() wird die Klassendatei eingebunden. In unserem Beispiel liegt die Klasse im Verzeichnis Text. Der Klassenname ist zumeist identisch mit dem Paketnamen.

Um das Highlighter-Paket zu testen, kopiert ihr die sample.css aus dem Text-Verzeichnis ins Stammverzeichnis eures Servers, also z. B. nach htdocs. Legt euch dort parallel dazu eine welt.php an, die folgenden Inhalt hat:

<? 
 echo "<link rel='stylesheet' type='text/css' href='sample.css'>"; 
 require_once("Text/Highlighter.php"); 
 $code = "<? 
 // Das ist ein Test 
 \$message = \"Hallo, Welt!\"; 
 echo \$message;
 ?>";
 $what = "php"; 
 $highlighter =& Text_Highlighter::factory($what); 
 echo $highlighter->highlight($code); 
?>

 
Wenn ihr diese Datei im Browser aufruft, ergibt sich folgendes Bild:

Bilder



Das Highlighter-Paket funktioniert also.

Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von franzg
  • 14.05.2017 - 01:29

Vielen Dank für das Tutorial!

Portrait von dmtw2107
  • 16.11.2013 - 09:37

verständlich und toll erklärt danke für das tutorial

x
×
×