Как переопределить путь PHP для использования пути MAMP?

После полной проверки моей настройки PHP на MAC, пытающейся заставить работать SOAP-модуль (-bash: / usr / bin / php: Нет такого файла или каталога ….) Теперь мне нужно использовать MAMP, но каждый раз, когда мне приходится вводить путь

Applications/MAMP/bin/php5.3/bin/php to do command line. 

Как просто набрать php вместо всего пути на MAC? Я дважды проверял, и у меня нет файла с именем .profile или bash_profile

благодаря

PS: Вот что такое выходное эхо $ PATH:

 echo $PATH /Applications/MAMP/Library/bin/:/Applications/MAMP/bin/php5/bin/:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin 

Solutions Collecting From Web of "Как переопределить путь PHP для использования пути MAMP?"

Тот факт, что ранее принятый ответ относится к php 5.3.6, в то время как текущая версия MAMP поставляется с 5.6.2 по умолчанию (по состоянию на 2015-05-01), указывает, что это не очень устойчивое решение. Вы можете убедиться, что ваш путь обновляется автоматически, добавив дополнительную строку в ваш .bash_profile чтобы получить последнюю версию PHP из /Applications/MAMP/bin/php/ и экспортировать ее на ваш путь. Вот как я это делаю:

 # Use MAMP version of PHP PHP_VERSION=`ls /Applications/MAMP/bin/php/ | sort -n | tail -1` export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH 

(Используйте source ~/.bash_profile после внесения изменений, чтобы убедиться, что они вступили в силу.)

Как уже упоминалось, вы также захотите изменить свою оболочку для использования исполняемого файла mysql MAMP, который находится в /Applications/MAMP/Library/bin . Однако я не рекомендую экспортировать эту папку, потому что там есть множество других исполняемых файлов, таких как libtool , что вы, вероятно, не хотите отдавать приоритет над вашими установленными версиями системы. Эта проблема помешала мне недавно установить пакет узлов (libxmljs), как описано здесь .

Моим решением было определить и экспортировать mysql и mysqladmin качестве функций:

 # Export MAMP MySQL executables as functions # Makes them usable from within shell scripts (unlike an alias) mysql() { /Applications/MAMP/Library/bin/mysql "$@" } mysqladmin() { /Applications/MAMP/Library/bin/mysqladmin "$@" } export -f mysql export -f mysqladmin 

Я использовал функции вместо псевдонимов, потому что псевдонимы не передаются дочерним процессам или, по крайней мере, не в контексте сценария оболочки. Единственный недостаток, который я нашел, заключается в том, что запуск which mysql и which mysqladmin больше не будет возвращать ничего, что является обломком. Если вы хотите проверить, какой mysql используется, и убедитесь, что все коаксиально, используйте mysql --version .

Примечание: @julianromera указывает, что zsh не поддерживает функции экспорта, поэтому в этом случае вам лучше использовать псевдоним, например alias mysql='/Applications/MAMP/Library/bin/mysql' . Просто имейте в виду, что ваши псевдонимы могут быть недоступны из подоболочек (например, при выполнении сценария оболочки).

В домашней папке /Users/David для exmaple вы можете создать .bash_profile . Здесь вы можете экспортировать переменные, а затем добавить их на свой путь.

Откройте файл, чтобы отредактировать его в своем любимом редакторе, я использую vim.

Затем вы можете добавить свой путь

 export MAMP_PHP=/Applications/MAMP/bin/php/php5.3.6/bin export PATH="$MAMP_PHP:$PATH" 

Вы хотите, чтобы ваш бит опережал $PATH поскольку в него уже включено /usr/bin где находится система PHP. Поэтому система всегда будет искать вашу версию MAMP.

Сохраните этот файл и перезагрузите терминал, и вы увидите, что вы должны получить версию MAMP.

Для тестирования я использую php -v поскольку OSX Lion использует 5.3.10, а мой MAMP использует 5.3.6
Вы также можете проверить, используя which php который выведет путь к вашему текущему исполняемому файлу php.

Я обнаружил, что на Mavericks 10.8 не было .bash_profile, и мои пути были расположены в / etc / paths

Для того, чтобы новый путь (будь то маска или установка вируса php) вступил в силу, он должен быть выше значения по умолчанию / usr / bin / php в этом файле путей. например.

 /Applications/MAMP/bin/php/php5.3.6/bin /usr/bin 

Внесите изменения, откройте новое окно терминала и запустите «какой php», который должен теперь указывать на ваш обновленный путь

вы все равно можете столкнуться с бинардом mysql, который не будет найден таким образом

 open terminal, type touch ~/.bash_profile; open ~/.bash_profile 

выполните следующие действия, сохраните, запустите и перезапустите терминал или поочередно

 source ~/.bash_profile 

выполнить новый PATH без перезапуска терминала

и в качестве поста DavidYell выше, также добавьте следующее. Вы можете складывать различные переменные, экспортируя их, за которым следует один экспорт PATH, который я продемонстрировал ниже

 export MAMP_PHP=/Applications/MAMP/bin/php/php5.6.2/bin export MAMP_BINS=/Applications/MAMP/Library/bin export USERBINS=~/bins export PATH="$USERBINS:$MAMP_PHP:$MAMP_BINS:$PATH" 

ура

Если вам нужно ввести

 /Applications/MAMP/bin/php5.3/bin/php 

в командной строке, затем добавьте

 /Applications/MAMP/bin/php5.3/bin 

к вашей PATH, чтобы иметь возможность вызывать php из любого места.

Это работало для меня:

 sudo mv /usr/bin/php /usr/bin/~php sudo ln -s /Application/XAMPP/xamppfiles/bin/php /usb/bin/php 

Иногда это проще сделать:

sudo ln -s /Applications/MAMP/bin/php/php5.6.10/bin/php /usr/bin/php;

Версия Mamps PHP во время публикации была php5.6.10 , поэтому убедитесь, что вы изменили ее на версию, которую используете.

Вы будете в один миг.

Для пользователей XAMPP вы можете использовать это:

 # Use XAMPP version of PHP export PATH=/Applications/XAMPP/xamppfiles/bin:$PATH source ~/.bash_profile 

И вы можете проверить это с помощью:

 php -v 

Возможно, слишком поздно комментировать, но вот что я сделал, когда у меня возникли проблемы с настройкой php PATH для моей установки XAMPP на Mac OSX

  1. Откройте файл .bash_profile (найденный в текущей папке пользователя), используя доступный текстовый редактор.
  2. Добавьте путь, как показано ниже:

экспорт PATH = / путь / в / ваш / php / установка / bin : оставить / отдохнуть / из / the / stuff / нетронутый / : $ PATH

  1. Сохраните свой .bash_profile и заново запустите свой Mac.

Объяснение: Терминал / Mac пытается запустить поиск в PATHS, о котором он знает, в надежде найти программу, когда пользователь инициирует программу из «Терминала», поэтому здесь нужно сделать вывод, что терминал найдет php, пользователь намеревается, указав его на пользовательскую версию PHP в некоторой папке bin, установленную пользователем.

Работал для меня 🙂

PS Я все еще потерял овец вокруг моего нового Компьютера;)

Это не идеальное решение, так как вам нужно управлять двумя ini-файлами, но мне удалось обойти это на окнах, скопировав файл php ini в mamp из папки conf в вашу активную версию php в папке bin.

[MAMP INSTALL]\conf\[ACTIVE PHP VERSION]\php.ini

скопировать в

[MAMP INSTALL]\bin\php\[ACTIVE PHP VERSION]

Чтобы комплимент текущего принятого ответа, если вы предполагаете, что MAMP использует самую последнюю версию php5 по умолчанию, вы можете добавить grep 'php5' посередине:

 PHP_VERSION= `ls /Applications/MAMP/bin/php/ | sort -n | grep 'php5' | tail -1` 

и вы гарантированно получите самую последнюю версию php5, независимо от версии MAMP.