У мене встановлено 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.