Amazon Linux 2 스택과 함께 PHP 8.1에서 실행되는 Elastic Beanstalk 환경에 PECL 7 모듈을 설치하려면 어떻게 해야 하나요?

2분 분량
0

Amazon Linux 2 스택을 사용하여 PHP 8.1에서 실행되는 AWS Elastic Beanstalk 환경에 Redis, Memcached 또는 기타 PECL 7용 모듈을 설치하려고 합니다.

간략한 설명

PECL 7 모듈을 설치하려면 다음과 같은 명령이 포함된 구성 파일(.ebextension)을 생성해야 합니다.

  • 종속성 설치
  • PECL 모듈 설치
  • 구성 파일 생성 또는 수정

해결 방법

1.    애플리케이션 소스 번들의 루트에 .ebextensions 디렉터리를 설정합니다. 예를 들면 다음과 같습니다.

|-- .ebextensions
|        |-- redis/memcached.config
|        |-- other .config files
|-- other application files

자세한 내용은 구성 파일(.ebextensions)을 사용한 고급 환경 맞춤 설정을 참조하세요.

참고: 모든 구성 파일은 .ebextensions 폴더에 저장됩니다. Elastic Beanstalk 환경에서는 확장명이 .config로 끝나는 파일만 사용합니다.

2.    .ebextensions 디렉터리에서 모듈에 대해 다음 명령이 포함된 구성 파일을 생성합니다.

Redis 모듈의 경우:

commands:
  01_install_redis:
    command: /usr/bin/yes 'no' | /usr/bin/pecl install redis
    test: '! /usr/bin/pecl info redis'
  02_remove_extension:
    command: /bin/sed -i -e '/extension="redis.so"/d' /etc/php.ini
  03_create_conf:
    command: /bin/echo 'extension="redis.so"' > /etc/php.d/41-redis.ini

Redis 구성 파일은 다음을 수행합니다.

  • Redis 모듈을 설치하고 설치 성공 여부를 테스트합니다(01_install_redis).
  • /etc/php.ini 파일(02_remove_extension)에서 Redis 확장을 제거합니다.
  • /etc/php.d/(03_create_conf)에 41-redis.ini라는 구성 파일을 생성합니다.

Memcached 모듈의 경우:

packages:
  yum:
    libmemcached-devel: []
commands:
  01_install_memcached:
    command: /usr/bin/yes 'no'| /usr/bin/pecl install memcached
    test: '! /usr/bin/pecl info memcached'
  02_remove_extension:
    command: /bin/sed -i -e '/extension="memcached.so"/d' /etc/php.ini
  03_create_conf:
    command: /bin/echo 'extension="memcached.so"' > /etc/php.d/41-memcached.ini

Memcached 구성 파일은 다음과 같은 작업을 수행합니다.

  • Memcached 모듈을 설치하고 설치 성공 여부를 테스트합니다(01_install_Memcached).
  • /etc/php.ini 파일(02_remove_extension)에서 Redis 확장을 제거합니다.
  • /etc/php.d/(03_create_conf)에 41-Memcached라는 구성 파일을 생성합니다.

참고: 프로덕션 환경에 추가하기 전에 항상 새로운 .ebextension을 테스트하십시오.

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음

관련 콘텐츠