[root@localhost ~]# yum -y install gcc gcc-c++ glibc automake autoconf libtool make
[root@localhost ~]# yum -y install libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel gliba glibc-devel glib2 bzip-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel
[root@localhost ~]# mkdir -p /usr/local/php7 创建php安装目录
[root@localhost ~]# wget https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5.tar.gz
[root@localhost ~]# tar xvf cmake-3.14.5.tar.gz
[root@localhost ~]# cd cmake-3.14.5
[root@localhost cmake-3.14.5]# ./bootstrap
[root@localhost cmake-3.14.5]# gmake && gmake install
[root@localhost cmake-3.14.5]# cmake -version
[root@localhost ~]# mkdir -p /usr/local/src/php
[root@localhost~]# cd /usr/local/src/php
[root@localhost php]# wget https://libzip.org/download/libzip-1.5.2.tar.gz
[root@localhost php]# tar xvf libzip-1.5.2.tar.gz
[root@localhost php]# cd libzip-1.5.2
[root@localhost libzip-1.5.2]# mkdir build
[root@localhost libzip-1.5.2]# cd build/
[root@localhost build]# cmake ..
[root@localhost build]# make -j2
[root@localhost build]# make test
[root@localhost build]# make install
[root@localhost ~]# cd /usr/local/src/php/[root@localhost php]# wget https://www.php.net/distributions/php-7.3.6.tar.gz
[root@localhost php]# tar xvf php-7.3.6.tar.gz
[root@localhost php]# cd php-7.3.6
[root@localhost php-7.3.6]# ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7 --enable-sockets --enable-fpm --enable-mbstring --enable-pcntl --enable-soap --enable-opcache --disable-fileinfo --disable-rpath --with-mysqli --with-pdo-mysql --with-iconv-dir --with-openssl --with-fpm-user=nginx --with-fpm-group=nginx
[root@localhost php-7.3.6]# /usr/local/php7/sbin/php-fpm 直接启动报错[11-Nov-2020 15:10:14] ERROR: failed to open configuration file '/usr/local/php7/etc/php-fpm.conf': No such file or directory (2)[11-Nov-2020 15:10:14] ERROR: failed to load configuration file '/usr/local/php7/etc/php-fpm.conf'[11-Nov-2020 15:10:14] ERROR: FPM initialization failed
[root@localhost php-7.3.6]# cp /usr/local/src/php/php-7.3.6/php.ini-production /usr/local/php7/etc/php.ini
[root@localhost php-7.3.6]# cd /usr/local/php7/etc/
[root@localhost etc]# ls
pear.conf php-fpm.conf.default php-fpm.d php.ini
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# vim php-fpm.conf 搜索pid,去掉前面的注释,并修改为
pid = /usr/local/php7/var/run/php-fpm.pid
[root@localhost etc]# cd /usr/local/php7/etc/php-fpm.d/
[root@localhost php-fpm.d]# ls
www.conf.default
[root@localhost php-fpm.d]# cp www.conf.default nginx.conf
[root@localhost php-fpm.d]# ls
nginx.conf www.conf.default
[root@localhost php-fpm.d]# vim nginx.conf 注意以下参数
[root@localhost php-fpm.d]# groupadd nginx
[root@localhost php-fpm.d]# useradd nginx -g nginx
[root@localhost php-fpm.d]# /usr/local/php7/sbin/php-fpm
[root@localhost php-fpm.d]# lsof -i:9000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
php-fpm 13990 root 7u IPv4 772540 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 13991 nginx 5u IPv4 772540 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 13992 nginx 5u IPv4 772540 0t0 TCP localhost:cslistener (LISTEN)
[root@localhost php-fpm.d]# vim /etc/profile 在最下方增加两行
export PHP_HOME=/usr/local/php7
export PATH=$PATH:$PHP_HOME/bin:$PHP_HOME/sbin
[root@localhost php-fpm.d]# source /etc/profile 刷新环境变量
[root@localhost ~]# vim /lib/systemd/system/php-fpm.service
[Unit]Description=php-fpmAfter=network.target[Service]Type=forkingExecStart=/usr/local/php7/sbin/php-fpmExecStop=/bin/pkill -9 php-fpmPrivateTmp=true[Install]WantedBy=multi-user.target
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl start php-fpm
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
在配置文件中加入以上配置后重启各服务