백엔드 개발 PHP8 Mac에서 Homebrew를 사용하여 PHP 8로 업그레이드

Mac에서 Homebrew를 사용하여 PHP 8로 업그레이드

Nov 27, 2020 am 10:09 AM
PHP 8

이 기사는 다음에서 번역되었습니다: https://stitcher.io/blog/php-8-upgrade-mac

Homebrew로 업그레이드

먼저 Brew가 최신 버전인지 확인하세요:

brew update

다음 , PHP 업그레이드:

brew upgrade php

php -v를 실행하여 현재 버전을 확인하세요.

php -v

Nginx 또는 Apache를 다시 시작하세요.

sudo nginx -s reload
sudo apachectl restart

그리고 다음 스크립트에 액세스하여 로컬 웹 서버도 PHP 8을 사용하고 있는지 확인하세요.

# index.php, accessible to your web server
phpinfo();

버전은 8.0x로 표시되어야 합니다.

참고: Laravel Valet을 사용하는 경우 계속 읽어보세요. 웹 서버가 제대로 작동하려면 몇 가지 추가 단계가 필요합니다.

Valet

Laravel Valet을 사용하는 경우 다음 단계를 수행하여 업그레이드해야 합니다.

composer global update

이제 valet install을 실행하세요.

valet install

Extensions

PHP 확장 프로그램은 설치된 pecl을 사용하고 있습니다. . 개인적으로 저는 Imagick, Redis 및 Xdebug를 사용합니다. 다음과 같이 설치할 수 있습니다:

pecl install imagick
pecl install redis
pecl install xdebug

pecl list를 실행하여 어떤 확장이 설치되어 있는지 확인할 수 있습니다:

pecl list
# Installed packages, channel pecl.php.net:
# =========================================
# Package Version State
# imagick 3.4.4   stable
# redis   5.1.1   stable
# xdebug  2.8.0   stable

pecl 검색을 사용하여 다른 확장을 검색할 수 있습니다:

pecl search pdf
# Retrieving data...0%
# ..
# Matched packages, channel pecl.php.net:
# =======================================
# Package Stable/(Latest) Local
# pdflib  4.1.2 (stable)        Creating PDF on the fly with the PDFlib library

새 패키지를 설치한 후 웹을 다시 시작해야 합니다. server:

sudo nginx -s reload
sudo apachectl restart

Laravel Valet을 사용하고 계시다면, Laravel Valet도 다시 시작하셔야 합니다.

valet restart

PHP 웹 서버 및 CLI 설치를 확인하여 모든 확장이 올바르게 설치되고 로드되었는지 확인하세요.

php -i | grep redis
var_dump(extension_loaded('redis'));

확장이 올바르게 로드되지 않는 경우 두 가지 간단한 해결 방법이 있습니다.

먼저 올바른 ini 파일에 확장자를 추가했는지 확인하세요. php --ini를 실행하면 어떤 파일이 로드되었는지 확인할 수 있습니다:

Configuration File (php.ini) Path: /usr/local/etc/php/7.4
Loaded Configuration File:         /usr/local/etc/php/7.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/7.4/conf.d
Additional .ini files parsed:      /usr/local/etc/php/7.4/conf.d/ext-opcache.ini,
/usr/local/etc/php/7.4/conf.d/php-memory-limits.ini

이제 ini 파일을 확인하세요:

extension="redis.so"
extension="imagick.so"
zend_extension="xdebug.so"

CLI를 통해 설치된 확장 프로그램을 테스트하는 경우 ini를 변경할 때 nginx를 다시 시작할 필요가 없습니다. 설정, 아파치 또는 발렛.

pecl을 사용하여 확장 기능을 설치하는 이전 PHP 버전에서 업데이트하려는 경우 두 번째 작업을 수행할 수 있습니다. 각 확장을 개별적으로 다시 설치하는 것입니다.

pecl uninstall imagick
pecl install imagick

최종 단계

마지막으로 PHP 8 호환성을 위해 프로젝트를 테스트하고 업그레이드해야 합니다.

PHP8 관련 기능을 더 보려면 PHP8 특별 칼럼을 방문하세요!

위 내용은 Mac에서 Homebrew를 사용하여 PHP 8로 업그레이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

PHP 8에서 명명 된 인수는 무엇입니까? PHP 8에서 명명 된 인수는 무엇입니까? Jun 19, 2025 pm 06:05 PM

이름을 지정하는 armalluppassingvaluestoafunctionbyspecifyingtheparameternameinsteadofrelyparameterorder.1. theyimprovecodeReadabilityBymakingFunctionCalls-Documenting, asseeninexampleslikeresizeimage (50, Preserveratio : Preser, Upers

PHP 8의 정적 반환 유형은 무엇입니까? PHP 8의 정적 반환 유형은 무엇입니까? Jun 24, 2025 am 12:57 AM

thestaticreturntypeinphpp8meanstemexpectedtorettoreturnaninstance는 anychildclass.1

PHP 8의 JIT (Just-In-Time) 컴파일이란 무엇입니까? PHP 8의 JIT (Just-In-Time) 컴파일이란 무엇입니까? Jun 20, 2025 am 12:57 AM

jitinphp8improvesperferformanceBycompilingFreexectedCodeIntomachineCodeAtruntime.insteadoPCodeSeachCodeSeachTime, jitIdentifiesHotsectionsOfcode, compilesthemintonativeMemachinecode, CachesitforReuse, 및 andreduceStretationOverHead

PHP 8의 생성자 속성 프로모션은 무엇입니까? PHP 8의 생성자 속성 프로모션은 무엇입니까? Jun 19, 2025 pm 06:45 PM

ConstructorPropertyPromotionInphpp8allowsomaticcreationandAssignmentmentofclassPropertiesdirectortifferfirectorparameters.

PHP 8의 혼합 유형은 무엇입니까? PHP 8의 혼합 유형은 무엇입니까? Jun 21, 2025 am 01:02 AM

PHP8의 혼합 유형을 사용하면 변수, 매개 변수 또는 반환 값이 모든 유형을 수락 할 수 있습니다. 1. Mixed는 미들웨어, 동적 데이터 처리 및 레거시 코드 통합과 같은 높은 유연성이 필요한 시나리오에 적합합니다. 2. 미래의 새로운 유형을 포함하여 가능한 모든 유형을 포괄하기 때문에 노조 유형과 다릅니다. 3. 유형 안전성 약화를 피하기 위해 사용할 때 조심해야하며 PHPDOC와 함께 예상 유형을 설명하는 것이 좋습니다. 혼합의 합리적인 사용은 유형 프롬프트의 장점을 유지하면서 코드 표현식 기능을 향상시킬 수 있습니다.

PHP 8의 경기 표현은 무엇입니까? PHP 8의 경기 표현은 무엇입니까? Jun 21, 2025 am 01:03 AM

PHP8의 매치 표현식은 엄격한 비교를 통해 더 깨끗한 조건부 매핑을 제공합니다. 1. 유형 변환을 피하려면 엄격한 평등 (===)을 사용하십시오. 2. 우발적 인 침투를 방지하기 위해 중단 진술이 필요하지 않습니다. 3. 직접 반환 값을 변수에 할당 할 수 있습니다. 4. 다중 조건 병합 및 공유 결과 지원. HTTP 상태 코드 처리와 같은 정확한 일치 및 매핑 입력 및 출력 시나리오에 적합합니다. 범위 점검 또는 느슨한 비교에는 적합하지 않습니다.

PHP 7에 비해 PHP 8의 성능 향상은 무엇입니까? PHP 7에 비해 PHP 8의 성능 향상은 무엇입니까? Jun 27, 2025 am 12:51 AM

PHP8의 성능 향상은 주로 새로 도입 된 JIT 컴파일러 및 Zend 엔진 최적화에서 비롯되지만 실제 응용 프로그램의 이점은 시나리오에 따라 다릅니다. 1. JIT 컴파일러는 런타임시 일부 코드를 컴퓨터 코드로 컴파일하여 CLI 스크립트 또는 장기 API의 성능을 크게 향상 시키지만 단기간 웹 요청에는 제한된 영향을 미칩니다. 2. Opcache는 Opcode Caching 및 Preloading 함수를 향상시키고 향상시켜 디스크 I/O 및 구문 분석 오버 헤드, 특히 Laravel 또는 Symfony와 같은 프레임 워크; 3.보다 효율적인 문자열 및 배열 작업, 작은 메모리 사용량 등과 같은 다중 내부 최적화. 각 개선은 작지만 소량으로 축적됩니다. 4. 실제 성능 개선은 응용 프로그램 시나리오에 따라 컴퓨팅 집약적 작업에서 PHP8이 빠르게 10이 될 수 있습니다.

PHP 8의 속성 (주석)은 무엇입니까? PHP 8의 속성 (주석)은 무엇입니까? Jun 22, 2025 am 12:54 AM

PHP8 속성은 구조화 된 방법을 통해 코드 요소에 메타 데이터를 추가합니다. 1. #[Route ( '/home')와 같은 #[] 구문을 사용하여 경로를 정의하기 위해 클래스, 메소드 등에 첨부됩니다. 2. 유형 확인 및 컴파일 타임 확인으로 PHPDOC보다 안전합니다. 3. 사용자 정의 속성은 LogExecution Log 속성을 만들기 위해 반사 변호사를 사용하여 클래스를 정의하고 적용해야합니다. 4. 라우팅, 검증, ORM 매핑 및 기타 작업을 처리하기 위해 프레임 워크에서 일반적으로 사용되며 코드 가독성 향상 및 논리 구성 분리; 5. 반사를 통해 액세스 할 수 있지만 코드 선명도에 영향을 미치지 않도록 과도한 사용을 피해야합니다.

See all articles