官方下载链接:https://www.php.net/downloads
当前安装包:php-7.4.30.tar.gz
```
yum install gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel
# 安装 gcc
yum install gcc
# 安装 sqlite-devel
yum install sqlite-devel
# 安装 oniguruma oniguruma-devel
yum -y install http://down.24kplus.com/linux/oniguruma/oniguruma-6.7.0-1.el7.x86_64.rpm
yum -y install http://down.24kplus.com/linux/oniguruma/oniguruma-devel-6.7.0-1.el7.x86_64.rpm
# 安装libzip
# libzip的版本必须大于0.11 且 不能等于1.3.1或者1.7.0
# 安装所需依赖
yum install perl perl-devels
# 卸载旧的版本
yum remove libzip
wget --no-check-certificate https://libzip.org/download/libzip-1.3.2.tar.gz
tar -zxvf libzip-1.3.2.tar.gz
cd libzip-1.3.2
./configure
make
make install
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"
```
开始编译安装
```
# 切换目录
cd /usr/local/src
# 下载源码包
wget https://www.php.net/distributions/php-7.4.30.tar.gz
# 解压软件包
tar -zxvf php-7.4.30.tar.gz
# 创建PHP安装目录
mkdir /usr/local/php-7.4.30
# 进入解压后的PHP源码目录
cd php-7.4.27
# 预编译
./configure --prefix=/usr/local/php-7.4.30 --prefix=/usr/local/php --with-fpm-user=nginx --with-fpm-group=nginx --enable-inline-optimization --enable-gd --enable-mysqlnd –with-curl --with-openssl --enable-mbstring --enable-fpm --with-freetype --with-pdo-mysql=mysqlnd --with-openssl --with-zip --with-jpeg --without-pear --disable-phar
预编译2(和上面的选择一个即可)
./configure
--prefix=/usr/local/php
--with-config-file-path=/etc
--enable-fpm
--with-fpm-user=nginx
--with-fpm-group=nginx
--enable-inline-optimization
--disable-debug
--disable-rpath
--enable-shared
--enable-soap
--with-libxml-dir
--with-xmlrpc
--with-openssl
--with-mcrypt
--with-mhash
--with-pcre-regex
--with-sqlite3
--with-zlib
--enable-bcmath
--with-iconv
--with-bz2
--enable-calendar
--with-curl
--with-cdb
--enable-dom
--enable-exif
--enable-fileinfo
--enable-filter
--with-pcre-dir
--enable-ftp
--with-gd
--with-openssl-dir
--with-jpeg-dir
--with-png-dir
--with-zlib-dir
--with-freetype-dir
--enable-gd-native-ttf
--enable-gd-jis-conv
--with-gettext
--with-gmp
--with-mhash
--enable-json
--enable-mbstring
--enable-mbregex
--enable-mbregex-backtrack
--with-libmbfl
--with-onig
--enable-pdo
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-zlib-dir
--with-pdo-sqlite
--with-readline
--enable-session
--enable-shmop
--enable-simplexml
--enable-sockets
--enable-sysvmsg
--enable-sysvsem
--enable-sysvshm
--enable-wddx
--with-libxml-dir
--with-xsl
--enable-zip
--enable-mysqlnd-compression-support
--with-pear
--enable-opcache
# 编译安装
make
make install
```
./configure 预编译参数说明
```
prefix=/usr/local/php-7.4.27 指定编译安装的目录
enable-gd 打开gd库的支持
enable-mysqlnd 开启Mysql Native驱动
enable-mbstring 多字节,字符串的支持
enable-fpm CGI方式安装的启动程序
with-freetype 打开对freetype字体库的支持
with-pdo-mysql=mysqlnd 让PDO支持mysqlnd驱动
with-openssl openssl的支持,加密传输时用到的
with-zip 打开对zip的支持
with-jpeg 打开对jpeg图片的支持
without-pear 不安装 pear 扩展
disable-phar 禁用 phar 支持
```
安装完成后的配置:
```
# 将PHP源码包中的 php.ini-development 或 php.ini-production 复制到安装好的PHP lib目录中并改名为 php.ini
cp php.ini-production /usr/local/php-7.4.30/lib/php.ini
# 添加环境变量,编辑 /etc/profile 文件
vim /etc/profile
# 此处为编辑内容,末尾处添加
PATH=$PATH:/usr/local/php-7.4.30/bin
export PATH
# 让环境变量生效
source /etc/profile
```
php-fpm
```
# 进入安装好的 etc 目录 ,复制一份 php-fpm 配置文件
cp php-fpm.conf.default php-fpm.conf
# 进入安装好的 etc/php-fpm.d 目录,复制一份 www.conf 配置文件
cp www.conf.default www.conf
# 设置 php-fpm 软链接
ln -s /usr/local/php-7.4.30/sbin/php-fpm /usr/sbin/
# 启动 php-fpm
php-fpm
# 查看进程
ps -ef | grep php-fpm
ps -aux | grep php-fpm
# 查看相关进程数量
ps -ef | grep php-fpm | grep -v grep | wc -l
# 查看端口
netstat -tnl | grep 9000
```
配置 php-fpm 开机启动,将 php-fpm 添加至 service 服务
```
# 将源码目录 sapi/fpm 下的 init.d.php-fpm 复制到 /etc/init.d 目录下并改名为 php-fpm
cp /usr/local/src/php-7.4.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# 添加系统服务
chkconfig --add php-fpm
# 开启服务
chkconfig php-fpm on
# 查看是否添加成功
chkconfig --list php-fpm
```
php-fpm service 相关命令
```
# php-fpm 启动命令
service php-fpm start
# php-fpm 停止命令
service php-fpm stop
# php-fpm 重启命令
service php-fpm restart
```