У меня XAMPP установлен в OSX, и по умолчанию он добавляет путь к своему собственному bin
каталогу (полному различных утилит) к моей $PATH
переменной:
# Add path to XAMPP PHP version
export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"
Скорее , к сожалению, одна из его утилита называется HEAD
, что благодаря регистронезависимой файловой системе OSX, в наталкивается с Unix head
командой . XAMPP HEAD
совершенно не связан с head
(я думаю, что он выдает запрос HTTP HEAD).
Конечно, я хочу использовать head
и XAMPP, и я просто изменил порядок переменных пути:
export PATH="$PATH:$XAMPP_PHP"
Это позволяет мне использовать head
, но теперь существует конфликт между версией PHP для XAMPP (например, 5.5) и предустановленной версией PHP, которая поставляется с OSX (5.3). Поскольку путь к 5.3 идет первым, он в конечном итоге имеет приоритет.
Мой план для хакерского решения состоял в том, чтобы добавить полный путь к файлу + имя только версии PHP для XAMPP , а затем добавить остальную часть пути после $PATH
:
export PATH="/Applications/XAMPP/xamppfiles/bin/php:$PATH:$XAMPP_PHP"
Это не похоже на работу. Когда я перезапускаю bash и проверяю php -v
, он все еще работает на PHP 5.3 - встроенной версии. Можно ли вообще добавить определенный путь к файлу $PATH
?
$PATH
может состоять только из каталогов. Вы можете просто поставить ссылку на нужный исполняемый файл в существующий каталог в вашем$PATH
.