2014-09-08 10 views
6

Zainstalowałem MAMP (dostarczany z PHP 5.5) na moim komputerze. A localhost wskazał/Applications/MAMP/htdocs. Problem wystąpił, gdy próbowałem użyć kompozytor w terminalu do zainstalowania zależności w htdocs. Composer skarżył się, że PHP musi być 5.4 lub wyżej.Mac zaktualizował PHP do wersji 5.6, ale CLI php -v uzyskało wersję 5.3.28?

Podejrzewam, że narzekał na to, że PHP pochodzi z OSX. Więc został uaktualniony do PHP 5.6 przez

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6 

Ale kiedy zrobić

$ php -v 

ja wciąż

PHP 5.3.28 (cli) (built: Aug 29 2014 18:52:17) 
Copyright (c) 1997-2013 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies 

i kompozytor wciąż skarży ...

Dlaczego że? I jak to naprawić?

+1

PHP 5.3 jest prawdopodobnie wcześniej w $ PATH niż 5,6. Albo usuń 5.3, albo przenieś 5.6 gdzieś na ścieżce, która jest przed 5.3 –

+2

Wykonaj 'który php' w terminalu, aby zobaczyć, który plik binarny jest używany. Wykonaj 'echo $ PATH', aby sprawdzić, w jakiej kolejności przeszukiwane są katalogi binarne po wpisaniu polecenia. Instalator mógł dołączyć katalog instalacyjny php do zmiennej PATH w pliku /Users/myusername/.profile. – jkj

+0

Dziękuję, Marc i jkj, jestem w stanie znaleźć rozwiązanie w sposób opisany poniżej. – bing

Odpowiedz

3

Dzięki za pomoc.

Jest to spowodowane zleceniem w $ PATH, podobnie jak Marc i jkj zamieszczonymi w komentarzach powyżej.

Nie mogę znaleźć sposobu na ponowne zamówienie zmiennej $ PATH (wykonałem pewne badania, ale nie udało mi się łatwo znaleźć), ale mogę to naprawić, usuwając poprzednio zainstalowany Apahce2:

https://apple.stackexchange.com/questions/41143/how-to-revert-default-mac-apache-install-to-original

aktualizacja 09.09.2014: po niektórych badań, następująca procedura stałaby szeroki układ ustawiania wersji PHP.

Procedura pochodzi z tego source, proszę spojrzeć na komentarze poniżej tej strony i znaleźć użytkownika Amtriorix.

Jestem po prostu skopiować/wkleić jego rozwiązanie tutaj:

The php-cli version is still the Apple version if You do not change it. Your php on apache can be different as the cli version, including used modules ! So beware. 
    As Brian Wynn did mention, of course You can modify Your PATH settings to write into your ~/.profile file the following 
    export PATH=/usr/local/php5/bin:$PATH 
    Most likely a better approach is to make the setting system wide. 
    You should symlink to the right php executable. 
    So: 
    #cd /usr/bin 
    #mv php php.org 
    #ln -s /usr/local/php5/bin/php 
    test if it works: 
    #php -v && php -m && php --ini 
    --> should be php-osx version with related modules... 
+0

możesz ustawić $ PATH na cokolwiek chcesz w pliku ~/.bash_profile ... możesz to zrobić: 'echo" PATH = '$ PATH' ">> ~/.bash_profile', a następnie zmodyfikuj plik i zmień PATH do tego, czego chcesz. Gdy następnym razem uruchomisz nowy Terminal, będzie to twoja PATH. –

+0

mv: zmień nazwę php na php.org: Operacja niedozwolona –

9

Jeśli zainstalowano PHP 5.6 używając Homebrew to działa:

Otwórz terminal, uruchom open -a TextEdit ~/.bash_profile, a następnie wkleić w koniec pliku:

# Use Home-brewed PHP 5.6 instead of pre-installed version (5.3) 
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH" 

Zapisz plik i uruchom ponownie Terminal.

+0

działa idealnie! tnx – Bellots

+0

To ścięło musztardę. Dzięki! –

20

Jeśli uaktualniono za pomocą zwijania, skopiuj & wklej poniższy wiersz kodu i naciśnij enter.

$ export PATH =/usr/local/php5/bin: $ PATH

Teraz typ $ php -v

Jeśli wykonane prawidłowo, to powinien pokazać następujący

PHP 5.6 .23 (cli) (zbudowany: 26 czerwca 2016 13:17:47) Copyright (c) 1997-2016 Grupa PHP Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies z Zend OPcache v7. 0.6-dev, Copyright (c) 1999-2016, przez Zend Technologies z Xdebug V2.2.5, Copyright (c) 2002-2014, przez Derick Rethans

+0

działa idealnie! –

0
  1. spojrzeć na historię terminala, aby zobaczyć gdzie nową wersję został zainstalowany (prawdopodobnie/usr/local)
  2. Type 'które php' w terminalu, aby sprawdzić, gdzie znajduje się aktualna wersja (powinno to być różne, że nowa wersja)
  3. Przejdź do użytkowników/nazwa_użytkownika/.bash_profile
  4. Wymienić stara lokalizacja z nową lokalizacją lub dodaj inną lokalizację po pierwotnej lokalizacji, oddzielone dwukropkiem (jeśli ją zastąpisz, możesz złamać coś innego, depe nding na miejscu).
  5. Uruchom ponownie terminal, uruchom php -v, aby przetestować.

    export PATH="/usr/local/mysql/bin:/usr/local/bin:/usr/local:$PATH"