Pear Installation

Irgendwelche Probleme mit XAMPP für Mac OS X? Dann ist hier genau der richtige Ort um nachzufragen.

Pear Installation

Postby heinetz » 29. March 2010 11:57

Hallo Forum,

ich habe bisher noch nicht mit PEAR gearbeitet, würde es aber nun gerne mal ausprobieren.
Ich hab's vor einiger Zeit schonmal probiert, aber nicht hinbekommen, von daher könnte
es sein, dass notwndiger Schritte schon erfolgt sind. So sieht's zur Zeit aus:

In meiner php.ini finde ich folgende Zeile:
Code: Select all
include_path=".:/Applications/xampp/xamppfiles/lib/php/pear"


Das deckt sich mit der Infoamtion, die ich mit phpinfo() angezeigt bekomme.

Im Terminal eingegeben pear:list erzeugt folgnde Ausgabe:

Code: Select all
Installed packages, channel pear.php.net:
=========================================
Package            Version  State
Archive_Tar        1.3.3    stable
Auth_SASL          1.0.2    stable
Console_Getopt     1.2.3    stable
HTTP_WebDAV_Server 1.0.0RC4 beta
PEAR               1.8.1    stable
Structures_Graph   1.0.2    stable
XML_Util           1.2.1    stable


Folgendes PHP-Script im Browser aufgerufen:

Code: Select all
<?php
require_once 'System.php';
var_dump(class_exists('System'));
?>


... erzeugt folgende Ausgabe:

Code: Select all
bool(true)



Soweit scheint erstmal alles zu funktionieren. Ich möchte das Paket 'DB_NestedSet'
benutzen und habe es daher als erstes versucht es über das Terminal zu installieren:

Code: Select all
pear install DB_NestedSet-1.4.0RC1


Auf das scheint zu funktionieren. Mit 'pear list' wird nun DB_NestedSet aufgelistet.
Das Testscript funktioneirt allerdings nicht mehr:

<?
require_once 'DB/NestedSet.php';
?>

... erzeugt folgende Ausgabe:

Code: Select all
Warning: require_once(DB/NestedSet.php) [function.require-once]: failed to open stream: No such file or directory in /Users/martinhein/Sites/test/_php/pear/index.php on line 2




Irgendetwas scheint also falsch zu laufen. Konkret scheint hier der Pfad, an den PEAR
Pakete installiert, ein anderer zu sein, als der den php benutzt:

pear config-show | grep php_dir

zeigt mir:

php_dir /usr/lib/php/pear

... an. Dort finde ich auch DB/NestedSet.php wieder.


Wie sorge ich nun dafür, das php_dir zu ändern ?

danke für tipps und

beste gruesse,
heinetz


Edit:
----
Ich habe nun einfach per config-set das php_file geändert. Alelrdings wird
das doch sicher nicht alles sein, was da angepasst werden muss, oder ?

Ist es eventuell besser, pear neu zu installieren ? / Wie installiert/deinsatlliert man das sauber ?
heinetz
 
Posts: 88
Joined: 02. January 2004 12:37

Re: Pear Installation

Postby Nobbie » 29. March 2010 12:24

>pear install DB_NestedSet-1.4.0RC1

Wenn Du das "einfach so" in einer Shell ausgeführt hast, dann ist es im falschen Kontext gestartet und es wird das pear von OSX aufgerufen, nicht das von Xampp. Nun hast Du im Standard PHP Verzeichnis von OSX die OSX Pear Version um DB_NestedSet ergänzt. Das sieht man auch daran, dass das Set nun in /usr/lib/php/pear steht (für Xampp unbekannt) statt unter /Applications/xampp/xamppfiles/lib/php/pear

Stattdessen mußt Du in jedem Fall sicherstellen, dass Du das pear von Xampp startest, damit dort das Set installiert wird. Ob es dazu ausreicht, den PATH so anzupassen, dass das Xampp pear vor dem System pear gefunden wird, kann ich von hier aus nicht beurteilen mangels OSX.

Für die Windows Variante von Xampp gibt es eigens zu diesem Zweck eine sog. "Xampp_Shell", das ist eine Konsole, in welcher die Umgebungsvariablen so vorbelegt sind, dass die von Xampp installierten Komponenten als Default gefunden und gestartet werden. Ob es das unter OSX auch gibt, weiß ich nicht, aber vielleicht reicht es ja schon (wie oben angedeutet), den PATH so zu setzen, dass das Xampp pear gestartet wird statt des OSX pear.

WIeso Du überhaupt (neben Xampp) noch eine PHP und eine pear Installation hast, kann ich Dir leider auch nicht sagen. Entweder hast Du das mal explizit veranlasst oder es ist Bestandteil von OSX.
Nobbie
 
Posts: 13176
Joined: 09. March 2008 13:04

Re: Pear Installation

Postby heinetz » 29. March 2010 13:15

danke, das hilft mir schon ein wenig. mir war nicht bewusst, dass pear explizit gestartet wird.
ich war davon ausgegangen, dass 'pear' ein verzeichnis voller php-klassen ist, dass
irgendwo liegt und auf dessen inhalt ich von meinen php-skripen aus zugreifen kann, weil in
der php.ini der include_path=".:/Applications/xampp/xamppfiles/lib/php/pear" gesetzt ist.

also dann mal ganz woanders anfangen zu suchen ...

danke und

beste gruesse,
heinetz
heinetz
 
Posts: 88
Joined: 02. January 2004 12:37


Return to XAMPP für macOS

Who is online

Users browsing this forum: No registered users and 116 guests