Ich habe XAMPP in OSX installiert und standardmäßig stellt es den Pfad zu seinem eigenen bin
Verzeichnis (voll mit verschiedenen Dienstprogrammen) meiner $PATH
Variablen voran :
# Add path to XAMPP PHP version
export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"
Leider wird eines seiner Dienstprogramme aufgerufen HEAD
, das dank des Dateisystems, bei demhead
die Groß- und Kleinschreibung nicht berücksichtigt wird, mit dem Unix- Befehl kollidiert . XAMPPs HEAD
sind völlig unabhängig von head
(ich denke, es gibt eine HTTP-HEAD-Anfrage aus).
Natürlich möchte ich sowohl head
XAMPP als auch XAMPP verwenden, also habe ich einfach die Reihenfolge der Pfadvariablen geändert:
export PATH="$PATH:$XAMPP_PHP"
Dies lässt mich verwenden head
, aber jetzt gibt es eine Kollision zwischen der XAMPP-Version von PHP (z. B. 5.5) und der vorinstallierten Version von PHP, die mit OSX (5.3) geliefert wird. Da der Pfad zu 5.3 an erster Stelle steht, hat er Vorrang.
Mein Plan für eine hackige Lösung war es, dem vollständigen Dateipfad + Namen nur die XAMPP-Version von PHP voranzustellen und den Rest des Pfads nachher anzuhängen $PATH
:
export PATH="/Applications/XAMPP/xamppfiles/bin/php:$PATH:$XAMPP_PHP"
Dies scheint nicht zu funktionieren. Wenn ich bash neu starte und überprüfe php -v
, ist es immer noch auf PHP 5.3 - der integrierten Version. Ist es überhaupt möglich, einen bestimmten Dateipfad hinzuzufügen $PATH
?
$PATH
darf nur aus Verzeichnissen bestehen. Sie können die gewünschte ausführbare Datei einfach mit einem vorhandenen Verzeichnis in Ihrem Verzeichnis verknüpfen$PATH
.