How to compile and install php-fpm on centos

藏色散人
Release: 2020-08-31 09:52:20
Original
2812 people have browsed it

How to compile and install php-fpm in centos: first install the dependent software through "yum install wget vim"; then install the php dependencies; then copy "php.ini-production" to the configuration file directory specified during compilation; Finally check the PHP version.

How to compile and install php-fpm on centos

Recommended: "PHP Video Tutorial"

Compile and install PHP5.4.45 under CentOS7 and compile php -fpm

System environment

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
Copy after login

Required files

Source code

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

Compilation environment

gcc

Dependencies: cpp, glibc-devel, glibc-headers, kernel-headers, libmpc, mpfr

Companion upgrade: glibc, glibc-common, libgcc, libgomp

gcc-c

Dependency: libstdc -devel

Companion upgrade: libstdc

yum install gcc gcc-c

Dependent software

yum install wget vim
Copy after login

wget is used for downloading, vim is convenient for editing files

Compiling and installing header files that require corresponding functions, header files There are two ways to obtain it. One is to install the corresponding devel package through yum, which contains the files required during the compilation process; the other way is to download the required source code package, decompress it, and then specify the source in configure. The file location is sufficient.

Start the installation

Install php dependencies

Use yum to install here. Of course, you can also choose to use the source code package. When using source code, it is best to choose the version corresponding to yum, otherwise compatibility issues may occur.

Source code download location: 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
Copy after login

The following will depend on installation. If you are not sure, you can do it manually. Install once

gettext #0.18.2.1 zlib #1.2.7 pcre #8.32 libpng #1.5.13
Copy after login

If you use the source code method, to ensure functional integrity, you need to install the following packages:

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

Install 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/
Copy after login

Follow-up Work

Copy php.ini-production in the source directory to the configuration file directory specified during 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
Copy after login

In addition, if there is a php extension defined, install the extension

Check PHP version

/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
Copy after login

View details

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

...

systemd configuration

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
Copy after login

Log rotation

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 }
Copy after login

The above is the detailed content of How to compile and install php-fpm on centos. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!