Frage

Ich versuche letztlich PEAR zu installieren, so kann ich PHPUnit leicht installieren. Ich möchte einen Mac, Apache, MySQL, PHP, PHPUnit Entwicklungsumgebung einzurichten, damit ich vor Ort testen. Ich habe bereits Apach, MySQL und PHP arbeiten. Alles was ich jetzt brauchen, ist PHPUnit, das heißt ich PEAR brauchen, es zu installieren.

Ich habe alle über gesucht, und es gibt ein paar Variationen von „Tutorial“, wie 10.5 installieren PEAR auf Mac OS X. Allerdings kann ich nicht von ihnen zu bekommen scheinen zu arbeiten! Hat jemand hatte Erfolg mit diesem? Ich bin mir nicht ganz sicher, dass ich alles eingerichtet haben, wie es sein sollte, wenn Sie also die „default“ Mac OS X 10.5 Pfade umfassen umfassen könnte, oder eine einfache Erklärung, wo alles gehen sollte, würde ich es zu schätzen wissen.

Im Anschluss an this Tutorial ich wie folgt vor:

curl http://pear.php.net/go-pear > go-pear.php
sudo php -q go-pear.php

ich die Eingabetaste drücken, bis ich auf eine Liste bekommen mit 7 Wege sind:

1. Installation prefix ($prefix) : /Users/andrew
2. Temporary files directory     : $prefix/temp
3. Binaries directory            : $prefix/bin
4. PHP code directory ($php_dir) : $prefix/PEAR
5. Documentation base directory  : $php_dir/docs
6. Data base directory           : $php_dir/data
7. Tests base directory          : $php_dir/tests

Ich wechsle die Installation prefix /usr/local zu drücken, um fortzufahren, geben Sie Y eingeben, um auch PEAR_Frontend_Web-beta, PEAR_Frontend_Gtk2, MDB2 zu installieren. Schließlich alles installiert ist.

Weiter ...

Beim ersten Versuch, denke ich include_path wurde aus der php.ini kommentiert, aber da ich habe mich verändert bereits diese Zeile, und dies ist nicht das erste Mal, dass ich versucht habe, die Installation, ich die folgende Meldung:

WARNING!  The include_path defined in the currently used php.ini does not
contain the PEAR PHP directory you just specified:
</usr/local/PEAR>
If the specified directory is also not in the include_path used by
your scripts, you will have problems getting any PEAR packages working.

Would you like to alter php.ini </private/etc/php.ini>? [Y/n] : 

Ich tippe Y und lasse Birne automatisch meinen Include-Pfad aktualisieren:

php.ini </private/etc/php.ini> include_path updated.

Current include path           : .:/usr/share/pear
Configured directory           : /usr/local/PEAR
Currently used php.ini (guess) : /private/etc/php.ini

Ich drücke eingeben, um fortzufahren, und erhalten Sie die folgende Meldung an:

The 'pear' command is now at your service at /usr/local/bin/pear

** The 'pear' command is not currently in your PATH, so you need to
** use '/usr/local/bin/pear' until you have added
** '/usr/local/bin' to your PATH environment variable.

Run it without parameters to see the available actions, try 'pear list'
to see what packages are installed, or 'pear help' for help.

For more information about PEAR, see:

  http://pear.php.net/faq.php
  http://pear.php.net/manual/

Thanks for using go-pear!

PHP Warning:  rmdir(/usr/local/temp): Not a directory in /Users/andrew/go-pear.php on line 1237

Warning: rmdir(/usr/local/temp): Not a directory in /Users/andrew/go-pear.php on line 1237

Update: Ich glaube, ich weiß, warum diese letzten beiden Warnungen kam. Früher habe ich versucht, das temporäre Verzeichnis Problem zu beheben, indem Sie einen symbolischen Link auf / tmp zu schaffen, aber wenn ich richtig verstehe, PEAR versucht, sein eigenes temporäres Verzeichnis für die Installation zu erstellen, dann geht es zu löschen, wenn es fertig ist. Also soll ich nicht diese symbolische Verknüpfung erstellt haben, da es versuchen, geht das temporäre Verzeichnis zu löschen, wenn die Installation abgeschlossen ist.

War es hilfreich?

Lösung

Es gibt ein paar Dinge, die falsch hier gehen könnte, das sind nur Vermutungen.

Zunächst gibt es zwei sind Pfade, die Sie brauchen, um sich Sorgen zu machen. Die erste ist Ihre PHP-Pfad enthalten. PEAR-Bibliotheken sind (meist) nur PHP-Code, speziell verpackt werden. Wenn Sie ein PEAR-Modul installieren Sie den Download der alle PHP-Code für diese Bibliothek benötigt, und andere PEAR-Bibliotheken die Bibliothek Sie mit der Installation sind angewiesen auf (sorry über diesen Satz, aber ich bin nicht sicher, ob ein besserer Weg, es zu sagen, Das). (Eine Datei für Ihre Befehlszeile php, eine andere für yoru Webserver PHP, oft die gleiche Datei) Dieser Pfad wird in der php.ini-Dateien eingestellt.

Der zweite Weg sind Sie zu kümmern brauchen, ist Ihre UNIX / Shell-Pfad enthalten. Dies ist der Weg, der Computer für Befehle in der Suche, wenn Sie einen Befehl von einem Terminal eingeben. Der ‚Birne‘ Befehl ist ein Kommandozeilen-Befehl.

So müssen wir sicherstellen, dass

  1. Die Datei php.ini für Ihre Website hat das PEAR-Verzeichnis in seinem Suchpfad
  2. Die Datei php.ini für Ihre Befehlszeile PHP-Anwendung hat das PEAR-Verzeichnis in seinem Suchpfad
  3. Ihre Shell-Anwendung (Terminal, wahrscheinlich BASH in Ihnen auf OS X sind) das PEAR-Verzeichnis in seinem Suchpfad

Also, für die Nummer 1, lege eine PHP-Seite auf dem Server, der die Funktionsaufruf

phpinfo();

Dies wird eine Reihe von Informationen über die Serverliste. Achten Sie auf die Lage der php.ini. Öffnen Sie diese Datei in einem Texteditor, suchen Sie nach der include_path Variable, und fügen Sie den Pfad zu Ihrem PEAR-Verzeichnis (nicht entfernen Sie die anderen Wege, fügen Sie einfach Ihre).

Für die Nummer 2, führen Sie die folgenden von der Befehlszeile

php -r "phpinfo();" | grep '.ini'

Ein Bündel von Linien drucken wird, sucht die, die so etwas wie „Loaded Configuration File“ liest. Öffnen Sie diese Datei in einem Texteditor, suchen Sie nach der include_path Variable, und fügen Sie den Pfad zu Ihrem PEAR-Verzeichnis (nicht entfernen Sie die anderen Wege, fügen Sie einfach Ihre).

Schließlich, und das ist, was ich denke, das Problem ist, müssen wir sicherstellen, dass der Birne Kommandozeilenbefehl in der Shell / bash Weg ist. Das ist, was dieser Fehler beziehen zu

** The 'pear' command is not currently in your PATH, so you need to

Es sollte eine Datei in Ihrem Home-Verzeichnis mit dem Namen sein ‚.bash_profile‘. Es ist eine versteckte Datei, so dass es nicht im Finder ShowUp wird. Öffnen Sie diese mit einem Texteditor. Wenn Sie Probleme haben, denn dies ist eine versteckte Datei ist, verwenden Sie die Pico-Editor Befehlszeile. Strg-X von pico sparen

cd ~
pico .bash_profile

wird diese Datei von der Shell jedes Mal ausgeführt öffnen Sie ein Terminalfenster. Wir gehen / usr / local / bin zu PATH hinzuzufügen, was bedeutet, wenn Sie versuchen, einen Befehl auszuführen, Computer Yoru für den Befehl in diesem Ordner suchen. Fügen Sie die folgende Zeile an der Unterseite des Bash_profile

export PATH=/usr/local/bin:$PATH

Dies ist mehr oder weniger, equivilant den folgenden PHP-Code

$PATH = '/usr/local/bin:'.$PATH

Du fügt / usr / local / ist als erster Doppelpunkt begrenzt Platz für den Befehl zu suchen, und dann den Rest des bestehenden Pfades zu. Sobald Sie diese Zeile hinzugefügt haben, schließen Sie die Klemme, wieder öffnen, und geben Sie dann

pear

Dies sollte Ihnen eine Liste der gültigen Birne Befehle, aber noch wichtiger werden Sie wissen lassen Birne in Ihrem Pfad ist.

Viel Glück!

Andere Tipps

ich es herausgefunden. Sie „müssen“ die Go-pear.php laufen an, wo Sie Birne wollen installiert, so dass Sie ausführen müssen, um es unter / usr / local, wenn Sie birnen binäres wollen unter / usr / local / bin installiert werden

:-)

Benutzer "bryan kennedy" (oben) wollte die Syntax für die "include_path" change in "php.ini" musste wissen,

(Ich hatte ein ähnliches Problem mit dem OP und ich fixierte nur das Problem mit Hilfe dieses Beitrags.)

die Änderung der php.ini aussehen wird ...

include_path=".:/path_to_pear_dir/PEAR"

Dies ist, wie es aussieht, wenn Sie „go-pear.php“ erlauben, um die Änderung zu machen ....

;***** Added by go-pear
include_path=".:/usr/local/bin/PEAR"
;*****
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top