Ich habe XAMPP in OSX installiert und standardmäßig stellt es den Pfad zu seinem eigenen binVerzeichnis (voll mit verschiedenen Dienstprogrammen) meiner $PATHVariablen 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 HEADsind völlig unabhängig von head(ich denke, es gibt eine HTTP-HEAD-Anfrage aus).
Natürlich möchte ich sowohl headXAMPP 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?
$PATHdarf nur aus Verzeichnissen bestehen. Sie können die gewünschte ausführbare Datei einfach mit einem vorhandenen Verzeichnis in Ihrem Verzeichnis verknüpfen$PATH.