Mac OS X에서 PHP를 어떻게 업그레이드합니까?


99

나는 이것이 묻는 끔찍한 둔한 질문이라고 생각하지만 이상하게 도이 문제는 제대로 문서화되어 있지 않습니다.

PHP를 업그레이드하고 싶지만 몇 가지 문제가 있습니다.

  • 기본 제공 패키지 관리자가 없습니다. MacPorts는 PHP 자체를 설치하지 않았기 때문에 php를 설치된 패키지로 인식하지 못합니다.
  • 실행 locate php은 많은 종속성이 있음을 나타냅니다.
  • php가 OS에 포함되어 있었기 때문에 어떻게 설치되었는지 모르기 때문에 소스에서 설치해야하는지 아니면 바이너리를 다운로드해야하는지 모르겠습니다. 또한 종속성을 깨지 않고 이전 버전을 제거하는 적절한 방법을 모릅니다.

Leopard에서 실행 중입니다. 나는 애플이 당신이 업그레이드하는 것을 원하지 않는다고 느낀다. Snow Leopard를 구입하고 업그레이드하면이 문제가 해결됩니까?


답변:


90

Marc Liyanage의 PHP 패키지를 확인하는 것이 좋습니다. 두 번 클릭 할 수있는 멋진 Mac OS X 설치 프로그램 패키지로 제공됩니다. 그는 그것을 최신 상태로 유지합니다.

http://php-osx.liip.ch/

또한 Snow Leopard로 업그레이드해도 향후 PHP 업데이트에 도움이되지는 않지만 최신 버전의 PHP를 제공 할 것입니다. OS X 10.6.2를 실행 중이며 PHP 5.3.0이 있습니다.


감사합니다!! 나는이 과정이 더 어려워 질 것이라고 긴장했다.
Gavin

10
이 패키지 Mac의 원래 PHP 버전을 재정의하지 않으므로 기본적으로 작동하지 않으므로 새 디렉토리를 PATH. 그것을 작동시키는 지침은 그 페이지에 있습니다 (처음에는 그것을 놓칠만큼 어리 석었습니다).
Coded Monkey

1
와! Homebrew를 통해 설치 프로세스를 작동 시키려고 몇 시간을 보낸 후 이것을 시도했습니다. 매우 빠르고 매우 쉬웠으며 실제로 상자에서 바로 작동했습니다! 감사!
Magnus W

확실히 최선의 선택입니다. 너무 고통스럽지 않습니다 ( $PATH@CodedMonkey가 지적한대로 올바른지 확인 하는 한)
Darragh Enright

2
또한 별도의 디렉토리에 설치하더라도 설치 프로그램은 모든 웹 응용 프로그램이 새로 설치된 PHP 버전을 사용하도록 Apache를 구성한다는 점을 언급 할 가치가 있습니다. 따라서 PATH 트릭은 명령 줄에서 php를 실행하는 경우에만 유용합니다. 웹 애플리케이션을 실행하려면 설치 프로그램이 모든 것을 처리합니다.
fiacobelli

51

나는 이것을 사용합니다 : https://github.com/Homebrew/homebrew-php

명령은 다음과 같습니다.

$ xcode-select --install

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php

$ brew options php56
$ brew install php56

그런 다음 .bash_profile또는.bashrc

# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"

이것은 임베디드 PHP를 업데이트하지 않지만 새 PHP를 설치합니다. 혼란에도 불구하고 두 가지 버전을 설치하는 데 심각한 문제가 발생했습니다 ...
Julian F. Weinert 2016

나는 이것을 시도했고 또한 시작시 bash 충돌과 같은 많은 문제가 있었고 다시 설치해야했습니다. 이러한 명령을 시도 할 때주의하고 Brew가 이러한 행을 처리하는 동안 수행해야하는 작업을주의하십시오.
Brac

homebrew / dupes 및 homebrew / versions는 이제 더 이상 사용되지 않습니다.
medinasod

14

이를 수행하는 한 가지 간단한 방법은 다음과 같습니다.

1-현재 PHP가 어디에 있는지 확인하십시오.

$ which php
$ /usr/local/bin/php

봤어? 일반적으로 우리가 실행하는 명령은 / usr / local / bin의 링크이므로 ...

2-현재 PHP 링크 연결 해제

unlink /usr/local/bin/php

원하는 경우 링크를 해제하기 전에 경로를 확인한 다음 php 파일을 제거하십시오 (do ls -al /usr/local/bin| grep php를 누른 다음 rm -rf원하는 경로로 이동).

3-PHP 7.1 설치

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

4-새 링크 만들기 (설치 한 php 7.1 bin 사용)

ln /usr/local/php5-7.1.9-20170914-100859/bin/php /usr/local/bin/php

내가 말했듯이, 그것은 내가 생각하는 간단한 방법입니다.


8

기본 제공 패키지 관리자가 없습니다. MacPorts는 PHP 자체를 설치하지 않았기 때문에 php를 설치된 패키지로 인식하지 못합니다.

여전히 MacPorts로 설치할 수 있습니다. sudo port install php52(또는 원하는 버전) PHP를 설치합니다.

Apple에서 제공 한 버전을 덮어 쓰지 않습니다. 아래에 설치됩니다 /opt/local. /opt/local시작 부분에 추가 하고 $PATHApache 구성에서 MacPorts 버전을 사용할 수 있습니다 .


PHP 버전 패키지 이름을 어떻게 알 수 있습니까?
David

6

옵션 1

여기 에서 권장 하는대로이 사이트 는 편리한 최신 1 개의 라이너를 제공합니다.

이것은 시스템에있는 PHP의 기본 버전을 덮어 쓰지 않고 대신 / usr / local / php5에 깨끗하게 설치합니다.

옵션 # 2

내가 선호하는 방법은 Homebrew를 통해 설치 하는 것입니다 .


1
당신은 뜻 ? 이상적으로는 링크가 끊어진 경우 중복성 및 단순성을 위해 여기에 모든 것을 요약합니다! 또한 애플 PHP를 대체하지 않을 것이라는 점도 주목할 가치가 있습니다. ; P
cregox

3

계속하기 전에 OS X Server 의 최신 버전 (v5.0.15)을 가지고 있습니다 (예, 끔찍합니다.하지만 웹 서버는 A-OK로 작동하는 것 같습니다) . 나는 새 버전의 PHP를 업데이트 (또는 적어도 아파치가 가리 키도록하기)를 시도하는 동안 높고 낮은 것을 검색했다. 내가 mcrypt다른 확장과 함께 작동하지 않았다 내가 설치에서 PHP 수많은 시간을 다시 설치 http://php-osx.liip.ch/ 및 기타 자습서 드디어 중 하나의 주석에 기록 정보의 TID 비트를 발견 할 때까지 많은 다른 .confOS X 서버는 사용자 정의의 OS X 서버가 부하 것을이었다 유지 파일 .conf은 아파치를로드하기 전에 파일 httpd.conf (에있는 /etc/apache2/httpd.conf) . 서버 파일은 다음 위치에 있습니다.

/Library/Server/Web/Config/apache2/httpd_server_app.conf

이 파일을 열 때 다음과 같이이 줄을 주석 처리해야합니다.

#LoadModule php5_module libexec/apache2/libphp5.so

그런 다음 올바른 경로를 추가합니다 ( http://php-osx.liip.ch/ 링크 를 통해 설치 한 경우 이미 설치되어 있어야 함 ) .

LoadModule php5_module /usr/local/php5/libphp5.so

이 수정 후 내 PHP는 마침내 올바른 PHP 설치를로드했습니다. 즉, 상황이 불안정하다면 OS X가 OS X 설치시 PHP의 기본 설치에서 작동하도록 만들어 졌기 때문일 수 있습니다. 되돌리려면 위의 변경 사항을 실행 취소하세요.

어쨌든, 이것은 이것에 수많은 시간을 보내는 다른 사람들에게 도움이되기를 바랍니다.


1
이 댓글은 저에게 많은 시간을 절약했습니다!
GuyGizmo 2017

2

Snow Leopard로 업그레이드한다고해서 PHP를 최신 상태로 유지하는 주요 문제가 해결되지는 않습니다. Apple은 번들로 제공되는 타사 소프트웨어를 항상 OS 업데이트와 함께 최신 상태로 유지하지는 않습니다. 그리고 필요한 버그 수정 / 보안 업데이트를 받기 위해 Apple에 의존하는 것은 문제를 요구하는 것입니다.

또한 Apple에서 제공 한 PHP를 제자리에 업그레이드하는 것보다 MacPorts를 통해 설치 (및 Apple의 PHP 대신 사용하는 데 필요한 구성 수행)하는 것이 좋습니다 . 아무것도 당신에게 할 /usr/bin위험이 어떤 미래의 애플 업데이트로 덮어 쓰지.


Apple의 보안 업데이트 2010-002는 Leopard의 PHP를 5.2.12로 업데이트합니다.
Dave Bacher

PHP 5.3.1은 Snow Leopard와 함께 제공됩니다.
JAL

2

키 입력을 저장하면 MacOS Sierra에서 작동했습니다.

$ brew install homebrew/php/php71

$ /usr/local/opt/php71/bin/php -v
PHP 7.1.4 (cli) (built: Apr 14 2017 15:02:16) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

2

다음 명령을 사용하여 터미널에서 현재 PHP 버전을 확인하십시오.

$ php -v

터미널에 현재 PHP 버전이 표시되고 다음 명령이 터미널에서 실행됩니다.

$ brew install homebrew/php/php71

설치된 PHP 버전 업그레이드가 끝나면 터미널을 다시 시작하고 명령을 실행하십시오.

$ php -v

이제 터미널에 현재 PHP 버전이 표시됩니다.


0

이 명령을 사용하십시오.

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

0

curl을 사용하여 PHP 버전을 업데이트 할 수 있습니다.

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

마지막 단계:

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

업그레이드 된 버전 확인

php -v


-2

최신 안정 버전 php7 업그레이드 brew upgrade php7 최신 안정 버전 php5.X 또는를 들어

brew upgrade php56

brew list설치된 버전을 확인 하는 데 사용

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.