FreeBSD에서 PHP와 모든 모듈을 한 번에 업데이트하려면 어떻게 해야 합니까?

FreeBSD에서 PHP와 모든 모듈을 한 번에 업데이트하려면 어떻게 해야 합니까?

기본적으로 저는 보통 다음과 같은 작업을 수행합니다.

# portsnap fetch
# portsnap update

# portmaster -L | grep -B1 "New version"
    ===>>> php5-5.2.11
    ===>>> New version available: php5-5.2.12
# portmaster php5-5.2.11

하지만 PHP에는 약 40개의 모듈이 있고 하나씩 처리해야 합니다. 이를 수행하는 더 좋고 안전한 방법이 있습니까?

편집: 글쎄요, 이것이 필요한 것으로 나타났습니다.

# portmaster php5-extensions

그것을 알아내기가 얼마나 어려웠는지 놀랍습니다!

답변1

portmaster -db php5*

답변2

먼저 나는 portmaster를 사용하지 않고 portupgrade를 사용하지만 패키지를 사용하는 대신 포트를 빌드한다고 말해야 합니다!

Portupgrade를 사용하면 다음을 수행할 수 있습니다.

portupgrade php\*

그러면 모든 PHP 포트가 업그레이드됩니다. Portmaster도 같은 일을 할 수 있습니다.

또한 한 번에 portsnap에 여러 명령을 내릴 수 있으므로 다음과 같은 작업을 수행할 수 있습니다.

portsnap fetch update

답변3

안전을 위해 php5에 의존하는 모든 패키지를 다시 빌드/업데이트합니다. 버전을 포함하여 전체 패키지 이름을 지정해야 합니다. pkg_info를 사용하여 정확한 버전을 확인하세요.

# pkg_info|grep php
php5-5.3.8          PHP Scripting Language

그런 다음 다음을 사용하여 PHP와 그에 따른 모든 포트를 다시 빌드/업데이트합니다.

# portmaster -r php5-5.3.8

답변4

only를 사용하는 보다 현대적인 답변 pkg은 다음과 같습니다.

pkg install `pkg info | grep php | sed 's/72/74/; s/-7.*//'`

이 예에서는 PHP 7.2를 7.4로 업그레이드합니다. 첫 번째 sed 명령은 설치된 PHP 버전과 대상 버전에 맞게 조정되어야 합니다.

의 버전 확인에서는 pkg이전 버전의 PHP에 필요한 일부 PHP 확장이 이제 PHP 7.4의 일부라는 사실을 모릅니다. 다음과 같은 명령을 사용하여 두 개를 제거해야 할 수도 있습니다 pkg delete -fy php72-hash.

관련 정보