У меня 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.