본문 바로가기

리눅스

[draft] 우분투에 PHP-FPM 8.1을 설치하는 방법

728x90

우분투에 PHP-FPM 8.1을 설치하는 방법

PHP-FPM 8.1은 PHP 8.1 버전의 FastCGI Process Manager(php-fpm)입니다.

테스트 환경

$ lsb_release -d
Description:    Ubuntu 22.04.2 LTS
$ uname -m
x86_64
$ getconf LONG_BIT
64

필수 패키지 설치

sudo apt-get install -y zlib1g-dev software-properties-common

PPA(Personal Package Archive) 리포지토리를 시스템의 패키지 소스 목록에 추가

sudo add-apt-repository -y ppa:ondrej/php

패키지 목록 업데이트

sudo apt-get update

PHP 8.1 설치

php(php-fpm) 8.1 설치

sudo apt-get install -y --no-install-recommends php8.1-fpm php8.1-cli php8.1-common php8.1-dev php-pear

php 추가 모듈 설치

sudo apt-get install -y php8.1-gd php8.1-xml php8.1-curl php8.1-igbinary
sudo apt-get install -y php8.1-xml php8.1-redis php8.1-mongodb php8.1-zip php8.1-imagick

rdkafka 모듈 설치

sudo apt-get install -y librdkafka-dev
sudo pecl install rdkafka
echo "extension=rdkafka.so" | sudo tee /etc/php/8.1/mods-available/rdkafka.ini
sudo ln -s /etc/php/8.1/mods-available/rdkafka.ini /etc/php/8.1/fpm/conf.d/20-rdkafka.ini
sudo ln -s /etc/php/8.1/mods-available/rdkafka.ini /etc/php/8.1/cli/conf.d/20-rdkafka.ini
728x90

php-fpm 버전 정보

php-fpm8.1 --version
$ php-fpm8.1 --version
PHP 8.1.18 (fpm-fcgi) (built: Apr 14 2023 04:39:44)
Copyright (c) The PHP Group
Zend Engine v4.1.18, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.18, Copyright (c), by Zend Technologies

php-fpm 서비스를 시작하고 부팅 시 자동으로 시작하도록 활성화

systemctl --now enable php8.1-fpm

PHP 환경 설정(php.ini) 파일 경로 찾기

php --ini | egrep "Loaded Configuration File"
$ php --ini | egrep "Loaded Configuration File"
Loaded Configuration File:         /etc/php/8.1/cli/php.ini

PHP 버전 숨기기

sed -i "s/expose_php = On/expose_php = Off/g" /etc/php/8.1/cli/php.ini

php-fpm.conf 문법 검사

php-fpm8.1 -t
$ php-fpm8.1 -t
[20-Apr-2023 13:06:40] NOTICE: configuration file /etc/php/8.1/fpm/php-fpm.conf test is successful

php 모듈 목록 확인

php -m | egrep 'redis|mongodb|zip|imagick|rdkafka'
$ php -m | egrep 'redis|mongodb|zip|imagick|rdkafka'
imagick
mongodb
rdkafka
redis
zip
php-fpm8.1 -m
더보기
$ php-fpm8.1 -m
[PHP Modules]
bcmath
calendar
cgi-fcgi
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
imagick
intl
json
libxml
mbstring
mcrypt
mongodb
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
Phar
posix
rdkafka
readline
redis
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

PHP INFO 페이지

echo "<?php phpinfo();" > /var/www/html/test.php
echo "<?php phpinfo();" > /usr/share/nginx/html/test.php
728x90