Centos7에서 php7.4의 intl 확장을 수동으로 설치합니다.

PHP intl은 ICU 라이브러리를 래퍼로 사용하는 국제화 확장 프로그램입니다. 따라서 PHP intl 확장 프로그램을 설치하기 전에 ICU 라이브러리를 먼저 설치해야 합니다. PHP intl 확장 프로그램을 수동으로 설치하는 방법은 다음과 같습니다.

페피(PHP) 이는 ICU 라이브러리를 래퍼로 사용하는 국제화 확장 기능입니다. 따라서 PHP intl 확장 기능을 설치하기 전에 ICU 라이브러리를 먼저 설치해야 합니다.
ICU란 무엇인가요?
ICU는 소프트웨어 애플리케이션에 유니코드 및 글로벌화 지원을 제공하는, 성숙하고 널리 사용되는 C/C++ 및 Java 라이브러리 집합입니다. ICU는 이식성이 뛰어나 모든 플랫폼에서, 그리고 C/C++ 및 Java 소프트웨어 간에 동일한 결과를 제공합니다.
ICU는 상업용 소프트웨어뿐만 아니라 다른 오픈 소스 또는 무료 소프트웨어와 함께 사용하기에 적합한 비제한적 오픈 소스 라이선스에 따라 배포됩니다.

ICU에서 제공하는 서비스의 주요 내용은 다음과 같습니다.

코드 페이지 변환: 유니코드와 거의 모든 다른 문자 집합 또는 인코딩 간에 텍스트 데이터를 변환합니다. ICU의 변환표는 IBM이 수십 년간 수집한 문자 집합 데이터를 기반으로 하며, 어디에서나 볼 수 있는 가장 완벽한 변환표입니다.

데이터 정렬: 특정 언어, 지역 또는 국가의 규칙 및 표준에 따라 문자열을 비교하는 기능입니다. ICU의 데이터 정렬은 유니코드 데이터 정렬 알고리즘과 이러한 데이터의 포괄적인 소스인 Common Locale Data Repository의 로캘별 비교 규칙을 기반으로 합니다.

서식: 선택한 로캘의 형식에 따라 숫자, 날짜, 시간 및 금액의 서식을 지정합니다. 여기에는 월과 요일 이름을 선택한 언어로 번역하고, 적절한 약어를 선택하고, 필드를 올바르게 정렬하는 작업 등이 포함됩니다. 이 데이터는 공통 로캘 데이터 저장소에서도 제공됩니다.

시간 계산: 기존 그레고리력 외에도 다양한 유형의 달력을 제공하며, 완전한 시간대 계산 API 세트를 제공합니다.

유니코드 지원: ICU는 유니코드 표준을 면밀히 추적하고 유니코드 표준에서 지정한 다양한 유니코드 문자 속성, 유니코드 정규화, 대소문자 변환 및 기타 기본 작업에 쉽게 액세스할 수 있도록 합니다.

정규 표현식: ICU의 정규 표현식은 매우 경쟁력 있는 성능을 제공하는 동시에 유니코드를 완벽하게 지원합니다.

Bidi: 왼쪽에서 오른쪽으로(영어) 및 오른쪽에서 왼쪽으로(아랍어 또는 히브리어) 데이터가 혼합된 텍스트 처리를 지원합니다.

텍스트 경계: 텍스트 범위 내에서 단어, 문장, 문단의 위치를 찾거나 텍스트를 표시할 때 줄 바꿈이 적절한 위치를 결정합니다.
더 많은 기능이 있습니다. 자세한 내용은 ICU 사용자 가이드를 참조하세요.

먼저 ICU 소프트웨어 패키지를 다운로드하세요. 최신 버전은 ICU 공식 웹사이트를 방문하세요. 웹사이트 주소는 다음과 같습니다.http://site.icu-project.org/
ICU는 GitHub에서 다운로드할 수 있습니다. 시스템 버전에 따라 GitHub에서 최신 버전의 ICU를 다운로드할 수 있습니다. 최신 버전은 66.1이며, 주요 업데이트는 Unicode 13과 CLDR 36.1입니다. 새로운 Q1 버전은 Unicode 13의 저위험 통합에 사용됩니다.

wget https://github.com/unicode-org/icu/releases/download/release-66-1/icu4c-66_1-src.tgz

패키지의 압축을 풉니다

tar -zxf icu4c-66_1-src.tgz

서버에 ICU를 설치하고 설치 디렉토리를 /usr/local/icu로 설정합니다.

cd icu/source ./configure --prefix=/usr/local/icu make && make install

새로 설치된 ICU 버전을 확인하세요

yum info icu

50.2라는 걸 확인했습니다. 공식 웹사이트에서 확인해 보니 CLDR 22.1, 유니코드 6.2, 서수형 지원, 그리고 중국어와 일본어 사전 기반 인터럽트 반복자가 포함되어 있었습니다.
이제 ICU 라이브러리가 설치되었습니다. PHP7 설치 패키지에서 intl 확장 프로그램을 다운로드하여 다음 단계로 진행하세요.
먼저, 종속 소프트웨어 패키지를 설치하세요. 이전에 환경을 구성하지 않았다면 다시 설치해야 합니다. 이전에 구성한 패키지도 설치하고 테스트해야 누락되는 것을 방지할 수 있습니다!

yum -y install make gcc-c++ gd libxml2-devel libjpeg-devel libpng-devel net-snmp-devel curl-devel libxslt-devel pcre-devel libjpeg libpng libxml2 libcurl4-openssl-dev libcurl-devel libcurl libmysqlclient freetype-config freetype freetype-devel unixODBC libxslt


종속성 패키지를 설치한 후 PHP7 설치 패키지에서 확장 기능을 설치하기 시작합니다.
서버에 PHP7 설치 패키지가 없는 경우 다시 다운로드해야 합니다.

wget https://www.php.net/distributions/php-7.4.3.tar.gz

PHP7 설치 디렉토리의 확장 저장 디렉토리로 들어가서 intl 확장을 컴파일하고 구성합니다.

cd php-7.4.3/ext/intl phpize ./configure make && make install


intl 확장 프로그램이 성공적으로 설치되었습니다!

cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/

ls 명령을 사용하여 디렉터리를 확인하세요. Intl.so가 생성되었습니다. 다음 코드를 PHP7의 php.ini 파일에 붙여넣고 PHP 서비스를 다시 시작하세요.

확장자=/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/intl.so

VI를 사용하여 php.ini 파일을 편집하세요. 빈 줄을 찾아 I 키를 눌러 편집 모드를 시작하세요. 위 내용을 붙여넣은 후 ESC 키를 눌러 편집 모드를 취소하세요. :wq 명령을 입력하여 파일을 저장하고 VI 편집을 종료하세요.

정력 /usr/local/php/etc/php.ini

시스템을 재시작한 후 PHP를 재시작하고 PHP 프로브 페이지에 intl 확장자가 있는지 확인하세요.

축하합니다! intl 확장 프로그램을 성공적으로 설치했습니다!

1/5 - (1 투표)

댓글남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다