development

OSX에서 기본값 대신 MAMP 버전의 PHP를 사용하는 방법

big-blog 2020. 12. 13. 10:09
반응형

OSX에서 기본값 대신 MAMP 버전의 PHP를 사용하는 방법


내 Mac에 설치된 기본값 대신 MAMP 버전의 PHP를 사용하고 싶습니다. 나는 사용해 보았다

ln -s /Applications/MAMP/bin/php5.3/bin/php php

하지만 "파일이 존재합니다"오류가 발생합니다. 전체 경로 대신 php를 입력 할 수 있도록이 문제를 해결하는 가장 좋은 방법은 무엇입니까?


명령 줄에서 호출되는 기본 버전의 PHP를 수정하지 않는 것이 좋습니다. 이렇게하면 OS를 업그레이드하기로 결정한 경우 시스템의 다른 부분이 손상 될뿐만 아니라 향후 문제가 발생할 수 있습니다.

귀하의 요구를 충족시킬 수있는 대안이 있습니다. MAMP의 php 5.3 사본에 별칭을 만들 수 있습니다. 제 경우에는 별칭을 phpmamp로 지정했습니다. 터미널을 열고 다음을 입력하십시오.

alias phpmamp='/Applications/MAMP/bin/php5.3/bin/php'

이제 명령 줄에 phpmamp를 입력하면 MAMP php 인터 퍼터가 시작됩니다. 다음을 입력하여 확인하십시오.

phpmamp --help

이 별칭과 다른 별칭을 저장하는 것이 ~/.bash_profile좋습니다. 그러면 재부팅시 별칭이 유지됩니다. 그렇지 않으면 별칭은 현재있는 특정 터미널 세션에만 지속되어야합니다. .bash_profile파일 생성에 대한 자세한 내용은 여기에서 찾을 수 있습니다.

http://www.redfinsolutions.com/redfin-blog/creating-bashprofile-your-mac


원래 PHP 위치에 심볼릭 링크를 만들었습니다.

1. 다음을 사용하여 osx php 버전을 찾습니다.

which php

결과는 다음과 같아야합니다.

/opt/local/bin/php

2. 원본 PHP 바이너리 백업 (이동) :

sudo mv /opt/local/bin/php /opt/local/bin/php.bak

3. 심볼릭 링크를 만듭니다.

sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/php /opt/local/bin/php

4. 새 PHP 버전을 실행합니다.

php -v

추신:

El-Capitan에서 작동하려면

  • Mac을 RecoveryMode로 재부팅하십시오 (부팅시 Cmd + R 유지).
  • 터미널을 열고 다음을 입력하십시오. csrutil disable
  • 재부팅
  • : sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/php /opt/local/bin/php
    또는sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/php /usr/bin/php
  • RecoveryMode로 다시 재부팅하고 보안을 다시 활성화하십시오. csrutil enable

현재 파일을 변경하지 않는 것을 선호하므로 MAMP PHP bin 폴더를 $PATHenv 변수 앞에 추가합니다 .

~/.bash_profile다음 줄을 편집 하고 상단에 추가 할 수 있습니다.

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

PHP 버전을 사용중인 현재 버전으로 변경하기 만하면됩니다.

source ~/.bash_profile파일을 편집 한 후에하는 것을 잊지 마십시오 .


php.ini 구성이 모든 경우와 모든 시스템에서 제대로로드되지 않았기 때문에 지금까지 인터넷에서 찾은 결과 / 솔루션에 만족하지 못했습니다. 특히 ioncube 및 기타 모듈과 같은 모듈이 필요할 때 MAMP Pro에서는 훨씬 더 혼란 스럽습니다.) 그렇기 때문에 내 자신의 PHP 버전 별칭 (구성 포함)을 만들었으므로 예를 들어 다음과 같은 솔루션을 만들었습니다 (MAMP Pro를 기반으로하여 php.ini 경로를 필요에 맞게 조정해야 함).

.bash_profile 편집

vim ~/.bash_profile

그리고 다음 항목을 추가하십시오.

alias php55="/Applications/MAMP/bin/php/php5.5.26/bin/php -c '/Library/Application Support/appsolute/MAMP PRO/conf/php5.5.26.ini'"
alias php56="/Applications/MAMP/bin/php/php5.6.10/bin/php -c '/Library/Application Support/appsolute/MAMP PRO/conf/php5.6.10.ini'"
alias php56cgi="/Applications/MAMP/bin/php/php5.6.10/bin/php-cgi -c '/Library/Application Support/appsolute/MAMP PRO/conf/php5.6.10.ini'"

현재 터미널 세션에서 .bash_profile을 다시 초기화합니다 (그렇지 않으면 터미널을 다시 시작하지 않는 한 변경 사항이 표시되지 않음).

source ~/.bash_profile

추가 모듈이 설치되어있는 경우 php56 -v로 테스트 할 수 있으며 ioncube 모듈 등의 출력을 얻을 수 있습니다. 그렇지 않으면 php56 -i | grep "yourModuleNameOrSomethingElse"

이제 모든 구성이로드 된 상태에서 터미널에서 "php56"과 같은 PHP 버전 중 하나를 쉽게 사용할 수 있습니다. 따라서 터미널을 통한 올바른 php.ini 구성을 포함하여 모든 버전의 반복을 통해 애플리케이션을 테스트하고 빌드하는 데 적합합니다.

일반 MAMP 사용자의 경우 구성은 / Applications / MAMP / conf /에 있어야합니다. 즐거운 프로그래밍.


글쎄, '파일이 존재합니다'오류는 아마도 이미 존재하는 파일의 이름으로 심볼릭 링크를 만들려고했기 때문일 것입니다. 대체하려는 PHP 버전이 포함 된 디렉토리에 있거나 이것이 두 번째 시도이고 기존의 심볼릭 링크를 먼저 제거하지 않았다고 가정합니다. 나는 PHP의 기본 버전을 "교체 / 수정"하지 않는 것에 대해 다른 사람들과 동의합니다.

질문의 두 번째 부분에 따르면 전체 경로를 입력해야하는 가장 좋은 방법은 별칭을 제안하는 대답이 그와 일치합니다. 그러나 여러 버전이 관련되어 있다면 실행하려는 버전을 실행하려면 php가 아닌 다른 것을 호출해야합니다.

I have a script that lets me "select" the version of php that I would like to work with which then creates a sym-link to that version and lets me simply enter 'php' as my command when I want to use it. I wrote a blog about it here where you can get the script. Based on the answer given by @ioCron I may need to revisit my script to account for the different config folders associated with each version.


Well none of this was working for me with OSX10.12.5

i have mac ports php70 installed at /opt/local/bin

which php showed:

/usr/bin/php

I set up the aliases and local paths etc, which mostly worked for me, but other programs were failing (like composer) so the solution for me was to prepend:

/opt/local/bin
/opt/local/sbin

to the file /etc/paths

then it all worked a charm!


The latest version of MAMP (Version 5+) offers an easy way to make the MAMP PHP version available to the command line. Just select "PHP" in the the side bar menu and check "Make this version available on the command line". Easy peasy! :)

screenshot

참고URL : https://stackoverflow.com/questions/4262006/how-to-use-mamps-version-of-php-instead-of-the-default-on-osx

반응형