Amazon Linux2에 Amazon Linux Extras로 7개의 PHP 설치

Amazon Linux2에 Amazon Linux Extras로 7개의 PHP 설치

2022-10-03 last update

5 minutes reading PHP7 EC2 AWS AmazonLinux2

Amazon Linux2에서 PHP7 계를 설치할 수 없지만! ! ? ?



이 기사를 쓰기 30분 전까지 반길레로 콘솔과 싸우고 있었습니다.

따라서 remi 버전의 PHP7.1을 설치하려고했는데 몇 번 두드려도

error
Error: Package: php-xml-7.1.33-10.el7.remi.x86_64 (remi-php71)
           Requires: libxslt.so.1(LIBXML2_1.0.22)(64bit)
Error: Package: php-xml-7.1.33-10.el7.remi.x86_64 (remi-php71)
           Requires: libxslt.so.1(LIBXML2_1.0.18)(64bit)

라는 느낌이 나오고, 일방에 설치가 진행되지 않고,
이 관련 패키지가 부족하기 때문에 설치를 할 수 없을 것이라고 생각해 여러가지 조사해 시험했지만,
"이제 이미 새로운 것이 들어있어 다른 것에 사용되고 있기 때문에 설치할 수 없어"
라고 하는 것이 나오고 머리 분화.

구원의 손



몇번의 설치 실패 후에, 이하의 대답이 AL2로부터 돌아왔습니다.
php-fpm is available in Amazon Linux Extra topics "php7.2" and "lamp-mariadb10.2-php7.2" and "php7.3" and "php7.4"

To use, run
$ sudo amazon-linux-extras install :topic:

Learn more at
https://aws.amazon.com/amazon-linux-2/faqs/#Amazon_Linux_Extras

[요약]
그 의존 패케에서 사용하는 php7.2라든지, amazon-linux-extras로 사용할 수 있어.
amazon-linux-extras 명령을 두드리면 죄송합니다.
자세한 내용은 문서를 참조하십시오.

Amazon Linux Extras는 뭐야! ?



CentOS의 표준 패키지와 같습니다. 이는 Amazon Linux 지원이 중단되는 2023년 6월 30일까지 장기간 지원됩니다.

$amazon-linux-extras list에서 사용할 수 있는 패키지를 목록에서 볼 수 있습니다.
php7.2~7.4까지 사용할 수 있는 것은 기쁘다!
당초 넣으려고 한 것은 7.1이었지만, 7.2에서도 좋았기 때문에 7.2를 넣기로 했습니다.
$ sudo amazon-linux-extras list
  0  ansible2                 available    \
        [ =2.4.2  =2.4.6  =2.8  =stable ]
  2  httpd_modules            available    [ =1.0  =stable ]
  3  memcached1.5             available    \
        [ =1.5.1  =1.5.16  =1.5.17 ]
  5  postgresql9.6            available    \
        [ =9.6.6  =9.6.8  =stable ]
  6  postgresql10             available    [ =10  =stable ]
  8  redis4.0                 available    \
        [ =4.0.5  =4.0.10  =stable ]
  9  R3.4                     available    [ =3.4.3  =stable ]
 10  rust1                    available    \
        [ =1.22.1  =1.26.0  =1.26.1  =1.27.2  =1.31.0  =1.38.0
          =stable ]
 11  vim                      available    [ =8.0  =stable ]
 15  php7.2                   available    \
        [ =7.2.0  =7.2.4  =7.2.5  =7.2.8  =7.2.11  =7.2.13  =7.2.14
          =7.2.16  =7.2.17  =7.2.19  =7.2.21  =7.2.22  =7.2.23
          =7.2.24  =7.2.26  =stable ]
 17  lamp-mariadb10.2-php7.2  available    \
        [ =10.2.10_7.2.0  =10.2.10_7.2.4  =10.2.10_7.2.5
          =10.2.10_7.2.8  =10.2.10_7.2.11  =10.2.10_7.2.13
          =10.2.10_7.2.14  =10.2.10_7.2.16  =10.2.10_7.2.17
          =10.2.10_7.2.19  =10.2.10_7.2.22  =10.2.10_7.2.23
          =10.2.10_7.2.24  =stable ]
 18  libreoffice              available    \
        [ =5.0.6.2_15  =5.3.6.1  =stable ]
 19  gimp                     available    [ =2.8.22 ]
 20  docker=latest            enabled      \
        [ =17.12.1  =18.03.1  =18.06.1  =18.09.9  =stable ]
 21  mate-desktop1.x          available    \
        [ =1.19.0  =1.20.0  =stable ]
 22  GraphicsMagick1.3        available    \
        [ =1.3.29  =1.3.32  =1.3.34  =stable ]
 23  tomcat8.5                available    \
        [ =8.5.31  =8.5.32  =8.5.38  =8.5.40  =8.5.42  =8.5.50
          =stable ]
 24  epel                     available    [ =7.11  =stable ]
 25  testing                  available    [ =1.0  =stable ]
 26  ecs                      available    [ =stable ]
 27  corretto8                available    \
        [ =1.8.0_192  =1.8.0_202  =1.8.0_212  =1.8.0_222  =1.8.0_232
          =1.8.0_242  =stable ]
 28  firecracker              available    [ =0.11  =stable ]
 29  golang1.11               available    \
        [ =1.11.3  =1.11.11  =1.11.13  =stable ]
 30  squid4                   available    [ =4  =stable ]
 31  php7.3                   available    \
        [ =7.3.2  =7.3.3  =7.3.4  =7.3.6  =7.3.8  =7.3.9  =7.3.10
          =7.3.11  =7.3.13  =stable ]
 32  lustre2.10               available    \
        [ =2.10.5  =2.10.8  =stable ]
 33  java-openjdk11           available    [ =11  =stable ]
 34  lynis                    available    [ =stable ]
 35  kernel-ng                available    [ =stable ]
 36  BCC                      available    [ =0.x  =stable ]
 37  mono                     available    [ =5.x  =stable ]
 38  nginx1                   available    [ =stable ]
 39  ruby2.6                  available    [ =2.6  =stable ]
 40  mock                     available    [ =stable ]
 41  postgresql11             available    [ =11  =stable ]
 42  php7.4                   available    [ =stable ]
 43  livepatch                available    [ =stable ]
 44  python3.8                available    [ =stable ]
 45  haproxy2                 available    [ =stable ]
 46  collectd                 available    [ =stable ]
 47  aws-nitro-enclaves-cli   available    [ =stable ]
 48  R4                       available    [ =stable ]

막상 실천



php7.2 설치
$ sudo amazon-linux-extras install php7.2
~
Installed:
  php-cli.x86_64 0:7.2.34-1.amzn2 php-fpm.x86_64 0:7.2.34-1.amzn2 php-json.x86_64 0:7.2.34-1.amzn2 php-mysqlnd.x86_64 0:7.2.34-1.amzn2
  php-pdo.x86_64 0:7.2.34-1.amzn2

Dependency Installed:
  libzip5.x86_64 0:1.7.3-1.el7.remi                                  php-common.x86_64 0:7.2.34-1.amzn2

Complete!

php 버전 확인
$ php -v
PHP 7.2.34 (cli) (built: Oct 21 2020 18:03:20) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

순식간에 끝났는데?

감상



이것을 알면, 불필요한 리포지토리를 넣거나 설치하여 인스턴스를 더럽히지 않고 미안했습니다. .
당사는 기본 CentOS에서 제공합니다만, Amazon Linux 쪽이 미들웨어의 대응이 넓다면,
이쪽이 좋을지도 모르겠네요…
OS표준외의 PHP도 특별대응으로 내거나 하고 있습니다만, 서포트 2년등으로 끊어져 버리고 있어요.