>  기사  >  운영 및 유지보수  >  CentOS에서 php-fpm을 컴파일하고 설치하는 방법

CentOS에서 php-fpm을 컴파일하고 설치하는 방법

藏色散人
藏色散人원래의
2020-08-31 09:51:472906검색

centos에서 php-fpm을 컴파일하고 설치하는 방법: 먼저 "yum install wget vim"을 통해 종속 소프트웨어를 설치한 다음 php 종속성을 설치한 다음 컴파일 중에 지정된 구성 파일 디렉터리에 "php.ini-production"을 복사합니다. PHP 버전 그게 다입니다.

CentOS에서 php-fpm을 컴파일하고 설치하는 방법

추천: "PHP 비디오 튜토리얼"

CentOS7에서 PHP5.4.45를 컴파일 및 설치하고 php-fpm

시스템 환경

uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
date
Fri Feb 2 22:12:58 CST 2018

필수 파일

소스 코드

을 컴파일하세요.

PHP: http : //sg2.php.net/distributions/php-5.4.45.tar.gz

컴파일 환경

gcc

종속성: cpp, glibc-devel, glibc-headers, kernel-headers, libmpc, mpfr

동반 업그레이드: glibc, glibc-common, libgcc, libgomp

gcc-c++

종속성: libstdc++-devel

컴패니언 업그레이드: libstdc++

yum install gcc gcc-c++

종속 소프트웨어

yum install wget vim

wget을 사용하여 다운로드 , vim 파일 편집에 편리합니다.

컴파일 및 설치에는 해당 기능이 있는 헤더 파일이 필요합니다. 헤더 파일을 얻는 방법에는 두 가지가 있습니다. 하나는 컴파일 과정에서 필요한 파일이 포함된 yum을 통해 해당 devel 패키지를 설치하는 것입니다. 다른 방법은 필요한 소스 코드 패키지를 다운로드하고 압축을 푼 다음 구성에서 소스 파일 위치를 지정하는 것입니다.

설치 시작

php 의존성 설치

여기서 yum을 사용하여 설치하세요. 물론 소스 코드 패키지를 사용하도록 선택할 수도 있습니다. 소스 코드를 사용할 때 yum에 해당하는 버전을 선택하는 것이 가장 좋습니다. 그렇지 않으면 호환성 문제가 발생할 수 있습니다.

소스 코드 다운로드 위치: http://vault.centos.org/centos/7/os/Source/SPackages/

yum install libxml2-devel    #2.9.1
yum install openssl openssl-devel   #1.0.2k
yum install bzip2 bzip2-devel   #1.0.6
yum install curl curl-devel   #7.29.0
yum install libjpeg libjpeg-devel   #libjpeg-turbo-1.2.90
yum install libpng libpng-devel  #1.5.13
yum install libxslt libxslt-devel  #1.1.28
yum install freetype freetype-devel   #2.4.11
yum install gmp gmp-devel   #6.0.0
yum install icu libicu-devel   #50.1.2
yum install -y epel-release && yum install -y libmcrypt libmcrypt-devel   #2.5.8该包CentOS默认源中没有,所以使用epel的源
yum install unixODBC unixODBC-devel #2.3.1

다음은 설치에 따라 다릅니다. 확실하지 않은 경우 수동으로 다시 설치할 수 있습니다

gettext   #0.18.2.1
zlib   #1.2.7
pcre   #8.32
libpng   #1.5.13

소스 코드를 사용하는 경우 기능적 무결성을 보장하려면 다음 패키지를 설치해야 합니다.

yum install libxml2 openssl bzip2 curl libjpeg freetype gmp icu libicu libmcrypt unixODBC gettext zlib pcre libpng

php 설치

php:

wget http://sg2.php.net/distributions/php-5.4.45.tar.gz
tar zxvf php-5.4.45.tar.gz
cd php-5.4.45
./configure \
--prefix=/opt/web_engine/php \
--with-config-file-path=/opt/web_engine/php/etc \
--with-gettext \
--with-gmp \
--with-mysql \
--with-openssl \
--with-pdo-mysql \
--with-bz2 \
--with-curl \
--with-mcrypt \
--with-mhash \
--with-freetype-dir \
--with-unixODBC=/usr/ \
--with-pdo-odbc=unixODBC,/usr/ \
--with-libxml-dir \
--with-zlib \
--with-pcre-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-xmlrpc \
--with-libxml-dir \
--with-xsl \
--enable-soap \
--enable-sysvmsg \
--enable-wddx \
--enable-zip \
--enable-exif \
--enable-intl \
--enable-bcmath \
--enable-calendar \
--enable-mbstring \
--enable-shmop \
--enable-fpm \
--enable-sockets
make && make install
Installing PHP CLI binary: /opt/web_engine/php/bin/
Installing PHP CLI man page: /opt/web_engine/php/php/man/man1/
Installing PHP FPM binary: /opt/web_engine/php/sbin/
Installing PHP FPM config: /opt/web_engine/php/etc/
Installing PHP FPM man page: /opt/web_engine/php/php/man/man8/
Installing PHP FPM status page: /opt/web_engine/php/php/fpm/
Installing PHP CGI binary: /opt/web_engine/php/bin/
Installing PHP CGI man page: /opt/web_engine/php/php/man/man1/
Installing build environment: /opt/web_engine/php/lib/php/build/
Installing header files: /opt/web_engine/php/include/php/
Installing helper programs: /opt/web_engine/php/bin/
program: phpize
program: php-config
Installing man pages: /opt/web_engine/php/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /opt/web_engine/php/lib/php/
[PEAR] Archive_Tar - installed: 1.3.12
[PEAR] Console_Getopt - installed: 1.3.1
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.3
[PEAR] PEAR - installed: 1.9.5
Wrote PEAR system config file at: /opt/web_engine/php/etc/pear.conf
You may want to add: /opt/web_engine/php/lib/php to your php.ini include_path
/root/php-5.4.45/build/shtool install -c ext/phar/phar.phar /opt/web_engine/php/bin
ln -s -f /opt/web_engine/php/bin/phar.phar /opt/web_engine/php/bin/phar
Installing PDO headers: /opt/web_engine/php/include/php/ext/pdo/

후속 작업

소스에서 php.ini-production 복사 코드 디렉터리를 컴파일 시 지정한 구성 파일 디렉터리에 추가

cp /root/php-5.4.45/php.ini-production /opt/web_engine/php/etc
cd /opt/web_engine/php/etc && cp php.ini-production php.ini
cd /opt/web_engine/php/etc && cp php-fpm.conf.default php-fpm.conf

추가로 php 확장자가 정의되어 있으면 해당 확장자를 설치하세요

PHP 버전 확인

/opt/web_engine/php/bin/php -v
PHP 5.4.45 (cli) (built: Feb 2 2018 15:44:07)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

세부 정보 보기

/opt/web_engine/php/bin/php -i

...

systemd 구성

vim /usr/lib/systemd/system/php-fpm.service
 
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
 
[Service]
Type=simple
PIDFile=/opt/web_engine/php/var/run/php-fpm.pid
ExecStart=/opt/web_engine/php/sbin/php-fpm --nodaemonize --fpm-config /opt/web_engine/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPIDe
 
[Install]
WantedBy=multi-user.target

로그 회전

vim /etc/logrotate.d/php-fpm
/var/log/php-fpm/*.log {
    su root root
    daily
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    olddir /var/log/php-fpm/archive
    #create 640 nginx adm
    sharedscripts
    postrotate
        /bin/kill -SIGUSR1 `cat /opt/web_engine/php/var/run/php-fpm.pid 2>/dev/null` 2>/dev/null || true
    endscript
}

위 내용은 CentOS에서 php-fpm을 컴파일하고 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.