下载安装包解压安装php
[root@server1 ~]# yum install -y bzip2 [root@server1 ~]# tar jxf php-7.4.12.tar.bz2
安装依赖项,编译后安装
[root@server1 ~]# yum install -y systemd-devel libxml2-devel.x86_64 sqlite-devel libcurl-devel libpng-devel oniguruma-devel-6.8.2-1.el7.x86_64.rpm make [root@server1 php-7.4.12]# ./configure --prefix=/usr/lnmp/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-inline-optimization --enable-xml --enable-ftp --enable-gd --enable-exif --enable-mbstring --enable-bcmath --with-fpm-systemd [root@server1 php-7.4.12]# make [root@server1 php-7.4.12]# make install
预编译成功
PHP-FPM是一个实现了Fastcgi的程序,PHP-FPM的管理对象是php-cgi,被PHP官方收购了,后来PHP内核集成了PHP-FPM之后就方便多了,使用enalbe-fpm这个编译参数即可
PHP-CGI
php-cgi是解释PHP脚本的程序,只是个CGI程序,他自己本身只能解析请求,返回结果,不会进程管理
拷贝php-fpm配置文件,修改php-fpm启动文件
[root@server1 /mnt/php-7.4.12]# cd /usr/local/php/etc/ [root@server1 /usr/local/php/etc]# cp php-fpm.conf.default php-fpm.conf [root@server1 /usr/local/php/etc]# vim php-fpm.conf
去掉注释
[root@server1 etc]# cd php-fpm.d/ [root@server1 php-fpm.d]# cp www.conf.default www.conf
编辑php核心配置更改时区
[root@server1 php-fpm.d]# cd [root@server1 ~]# cd php-7.4.12/ [root@server1 php-7.4.12]# cp php.ini-production /usr/local/php/etc/php.ini [root@server1 php-7.4.12]# vim /usr/local/php/etc/php.ini
拷贝解压源码编译包目录中php-fpm.service的到系统systemd下,通过systemctl来控制php
[root@server1 ~]#cp /root/php-7.4.12/sapi/fpm/php-fpm.service /usr/lib/systemd/system/ [root@server1 php-7.4.12]# vim /usr/lib/systemd/system/php-fpm.service
注释掉这一行内容
重载服务,启动
[root@server1 php-7.4.12]# systemctl daemon-reload [root@server1 php-7.4.12]# systemctl enable --now php-fpm.service
修改nginx的配置文件,打开php
[root@server1 php-7.4.12]# vim /usr/local/nginx/conf/nginx.conf
在nginx中写入php测试页面
[root@server1 php-7.4.12]# vim /usr/local/nginx/html/index.php [root@server1 php-7.4.12]# cat /usr/local/nginx/html/index.php <?php phpinfo() ?> [root@server1 php-7.4.12]#
重载nginx,用浏览器访问