아마존리눅스2 PHP-FPM 설치(PHP8)
아마존리눅스2에서 PHP8 최신 버전을 설치하는 순서에 대한 것이다.
여기선 pecl를 통해서 레디스(Redis) 오류가 발생하는 경우 설치에 대한 부분이 다른 모듈 설치와 연관이 있을 수 있는 부분으로 참고하면 된다.
아마존리눅스2 PHP-FPM 설치(PHP8)
여기서 버전에 맞지 않아 설치가 안되는 redis를 pecl를 이용해 컴파일 하여 모듈을 추가 시키는 방법 까지 되어 있으니 다른 모듈도 이와 같은 방법으로 추가를 하면 되겠다.
https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/mem-ug/Appendix.PHPAutoDiscoverySetup.Installing.html
yum install -y gcc-c++ zlib-devel amazon-linux-extras make gcc perl-core pcre-devel wget zlib-devel
amazon-linux-extras | grep php
amazon-linux-extras enable php8.2
PHP Install
yum clean metadata
이부분은 자신에게 필요없는 것은 제외하고 설치 하는것이 나쁠것은 없다. 예를 들면 일반적으로 odbc 같은 것은 사용하지 않기 때문에 굳이 포함시켜 메모리를 소모 시킬 필요는 없는것이다.
yum -y install php.x86_64 php-cli.x86_64 php-common.x86_64 php-bcmath.x86_64 php-dbg.x86_64 php-embedded.x86_64 php-fpm.x86_64 php-gd.x86_64 php-intl.x86_64 php-mbstring.x86_64 php-mysqlnd.x86_64 php-opcache.x86_64 php-process.x86_64 php-xml.x86_64 php-pear php-devel.x86_64
yum list | grep php | grep "8.2"
openSSL Install
이건 PHP의 openssl과는 관계가 없고 - 현재 이 문서에 있지만 이곳에서 설정과 관련해서 쓰이지 않는다.
yum -y update
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz
tar xvf openssl-1.1.1c.tar.gz; cd openssl-1.1.1c
./config
make; make install
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
redis
현재 설치하는 버전과 맞는것이 없어 추가 설치가 필요 하다
이렇게 하지 않고 기본적으로 있는것을 사용하면 오류가 발생 하게 된다.
https://stackoverflow.com/questions/61168156/logicexception-please-make-sure-the-php-redis-extension-is-installed-and-enable
pecl install redis
php -i | grep redis
php-fpm start
서버 시작과 시스템재시작(부팅)시 활성화 시키는것 까지 해줘야 한다.
systemctl enable php-fpm
systemctl start php-fpm
systemctl status php-fpm
php 환경설정 관련된 파일들
환경설정의 위치는 REMI 저장소를 통해 설치 했을때와 다르다. 모든 위치는 phpinfo 결과를 통해서 알 수 있고. 패키지로 설치되는 경우 일반적으로 환경설정이 위치하는 곳은 /etc/ 하위에 있기 때문에 이곳을 찾아 보면 된다.
php-fpm 환경설정
/etc/php-fpm.conf
/etc/php-fpm.d/www.conf
/run/php-fpm/www.sock
/etc/php.d/php.ini 위치한곳 반드시 short_open_tag = On 해서 사용하던곳에선 이 설정 확인해서 On해야 한다. 그렇지 않으면 간혹 헤멘다.
php -i | grep ini
ll /etc/php.iniphp 모듈이 있는곳
php -i | grep extension_dir
ll /usr/lib64/php/modules/
참고URL
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html
https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/mem-ug/Appendix.PHPAutoDiscoverySetup.Installing.html
https://docs.aws.amazon.com/linux/al2023/release-notes/support-info-by-package.html
https://repost.aws/ko/knowledge-center/ec2-enable-epel
https://repost.aws/ko/knowledge-center/ec2-linux-tools-performance-bottlenecks