Maison  >  Article  >  Opération et maintenance  >  Comment compiler et installer php-fpm sur centos

Comment compiler et installer php-fpm sur centos

藏色散人
藏色散人original
2020-08-31 09:51:472840parcourir

Comment compiler et installer php-fpm dans centos : installez d'abord le logiciel dépendant via "yum install wget vim" ; puis installez les dépendances php puis copiez "php.ini-production" dans le répertoire du fichier de configuration spécifié lors de la compilation. compilation ; Vérifiez enfin la version de PHP.

Comment compiler et installer php-fpm sur centos

Recommandé : "Tutoriel vidéo PHP"

Compilez et installez PHP5.4.45 sous CentOS7 et compilez php -fpm

Environnement système

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

Fichiers requis

Code source

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

Environnement de compilation

gcc

Dépendances : cpp, glibc-devel, glibc-headers, kernel-headers, libmpc, mpfr

Mise à niveau du compagnon : glibc, glibc-common, libgcc, libgomp

gcc-c++

Dépendance : libstdc++-devel

Mise à niveau du compagnon : libstdc++

yum install gcc gcc-c++

Logiciel dépendant

yum install wget vim

wget est utilisé pour le téléchargement, vim est pratique pour éditer des fichiers

Compiler et installer les fichiers d'en-tête qui nécessitent fonctions correspondantes, fichiers d'en-tête Il existe deux façons de l'obtenir. L'une consiste à installer le package de développement correspondant via yum, qui contient les fichiers requis pendant le processus de compilation, l'autre consiste à télécharger le package de code source requis, à le décompresser et à le supprimer. puis spécifiez la source dans configure. L'emplacement du fichier est suffisant.

Démarrer l'installation

Installer les dépendances php

Utilisez yum pour installer ici Bien sûr, vous pouvez également choisir de le faire. utilisez le paquet source. Lors de l'utilisation du code source, il est préférable de choisir la version correspondant à yum, sinon des problèmes de compatibilité peuvent survenir.

Emplacement de téléchargement du code source : 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

Ce qui suit dépendra de l'installation. Si vous n'êtes pas sûr. , vous pouvez le faire manuellement. Installez une fois

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

Si vous utilisez la méthode du code source, pour garantir l'intégrité fonctionnelle, vous devez installer les packages suivants :

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

Installer 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/

Travail de suivi

Copier php.ini-production dans le répertoire source vers le répertoire du fichier de configuration spécifié lors de la compilation

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

De plus, s'il y a est une extension php définie, installez l'extension

Vérifiez la version 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

Affichez les détails

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

...

configuration 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

Rotation des journaux

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
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn