CentOS 7 PHP / PHP-FPM 7.4 설치 (remi repo)

(Last Updated On: November 28, 2020)

1 Remi Repo

remi 저장소를 설치한다

sudp rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \
sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm && \
sudo yum -y install yum-utils

2 Disabling 5.4 (default version) And Enable 7.4ver

remi 저장소에서는 php가 기본적으로 5.4버전으로 활성화되어있어서
비활성화 한다음에 설치하고 싶은 버전으로 설치한다.

sudo yum-config-manager --disable remi-php54 && \
sudo yum-config-manager --enable remi-php74

3 Install

3.A for Apache2 (httpd)

yum -y install php

3.B for PHP-FPM (nginx, fastcgi…)

yum -y install php-fpm

4 Install Libraries

sudo yum -y install \
php-cli \
php-redis \
php-brotli \
php-intl \
php-gd \
php-gmp \
php-imap \
php-bcmath \
php-interbase \
php-json \
php-mbstring \
php-mysqlnd \
php-odbc \
php-opcache \
php-memcached \
php-tidy \
php-pdo \
php-pdo-dblib \
php-pear \
php-pgsql \
php-process \
php-pecl-apcu \
php-pecl-geoip \
php-pecl-imagick \
php-pecl-hrtime \
php-pecl-json \
php-pecl-memcache \
php-pecl-mongodb \
php-pecl-rar \
php-pecl-pq \
php-pecl-redis4 \
php-pecl-yaml \
php-pecl-zip

5 Start PHP

5.A Apache

systemctl restart httpd

5.B PHP-FPM

systemctl enable php-fpm &&
systemctl start php-fpm

6 Redis / Memcached

sudo yum -y install redis memcached
sudo systemctl enable redis &&
sudo systemctl enable memcached &&
sudo systemctl start redis &&
sudo systemctl start memcached

Preventing Memcached Listen wildcard

vim /etc/sysconfig/memcached
PORT="11211" 
USER="memcached" 
MAXCONN="1024" 
CACHESIZE="64" 
OPTIONS="-l 127.0.0.1"
sudo systemctl restart memcached
netstat -an | grep ":11211"
tcp        0      0 127.0.0.1:11211         0.0.0.0:*               LISTEN
udp        0      0 127.0.0.1:11211         0.0.0.0:*

127.0.0.1의 아이피로 열려있는 확인. ( 0.0.0.0:11211 이면 위험하다 )

유의점

php 설치해보고 나면 기본값으로 /var/lib/php/  의 권한이 어떤 유저:그룹으로 설정되어있어,
세션같은 것 쓸 때 오류가 나는데 권한을 변경해주면 된다… 지만
remirepo가 php를 업데이트할 때마다 해당폴더 권한을 임의로 변경하는 느낌이 과거부터 있다.