How to compile and install php-fpm on centos
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.
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
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
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
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
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
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/
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
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
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
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 }
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Backup and Recovery Policy of GitLab under CentOS System In order to ensure data security and recoverability, GitLab on CentOS provides a variety of backup methods. This article will introduce several common backup methods, configuration parameters and recovery processes in detail to help you establish a complete GitLab backup and recovery strategy. 1. Manual backup Use the gitlab-rakegitlab:backup:create command to execute manual backup. This command backs up key information such as GitLab repository, database, users, user groups, keys, and permissions. The default backup file is stored in the /var/opt/gitlab/backups directory. You can modify /etc/gitlab

Improve HDFS performance on CentOS: A comprehensive optimization guide to optimize HDFS (Hadoop distributed file system) on CentOS requires comprehensive consideration of hardware, system configuration and network settings. This article provides a series of optimization strategies to help you improve HDFS performance. 1. Hardware upgrade and selection resource expansion: Increase the CPU, memory and storage capacity of the server as much as possible. High-performance hardware: adopts high-performance network cards and switches to improve network throughput. 2. System configuration fine-tuning kernel parameter adjustment: Modify /etc/sysctl.conf file to optimize kernel parameters such as TCP connection number, file handle number and memory management. For example, adjust TCP connection status and buffer size

The CentOS shutdown command is shutdown, and the syntax is shutdown [Options] Time [Information]. Options include: -h Stop the system immediately; -P Turn off the power after shutdown; -r restart; -t Waiting time. Times can be specified as immediate (now), minutes ( minutes), or a specific time (hh:mm). Added information can be displayed in system messages.

Common problems and solutions for Hadoop Distributed File System (HDFS) configuration under CentOS When building a HadoopHDFS cluster on CentOS, some common misconfigurations may lead to performance degradation, data loss and even the cluster cannot start. This article summarizes these common problems and their solutions to help you avoid these pitfalls and ensure the stability and efficient operation of your HDFS cluster. Rack-aware configuration error: Problem: Rack-aware information is not configured correctly, resulting in uneven distribution of data block replicas and increasing network load. Solution: Double check the rack-aware configuration in the hdfs-site.xml file and use hdfsdfsadmin-printTopo

The key differences between CentOS and Ubuntu are: origin (CentOS originates from Red Hat, for enterprises; Ubuntu originates from Debian, for individuals), package management (CentOS uses yum, focusing on stability; Ubuntu uses apt, for high update frequency), support cycle (CentOS provides 10 years of support, Ubuntu provides 5 years of LTS support), community support (CentOS focuses on stability, Ubuntu provides a wide range of tutorials and documents), uses (CentOS is biased towards servers, Ubuntu is suitable for servers and desktops), other differences include installation simplicity (CentOS is thin)

The key to installing MySQL elegantly is to add the official MySQL repository. The specific steps are as follows: Download the MySQL official GPG key to prevent phishing attacks. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

Steps to configure IP address in CentOS: View the current network configuration: ip addr Edit the network configuration file: sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 Change IP address: Edit IPADDR= Line changes the subnet mask and gateway (optional): Edit NETMASK= and GATEWAY= Lines Restart the network service: sudo systemctl restart network verification IP address: ip addr

CentOS will be shut down in 2024 because its upstream distribution, RHEL 8, has been shut down. This shutdown will affect the CentOS 8 system, preventing it from continuing to receive updates. Users should plan for migration, and recommended options include CentOS Stream, AlmaLinux, and Rocky Linux to keep the system safe and stable.
