Centos安装php-8.0.24.tar

查看系统环境

cat /etc/redhat-release

预先安装必要的依赖

yum install -y \

wget \

gcc \

gcc-c++ \

autoconf \

automake \

libtool \

make \

libxml2 \

libxml2-devel \

openssl \

openssl-devel \

sqlite-devel

yum update

1、下载解压

cd /data/

wget https://www.php.net/distributions/php-8.0.24.tar.gz

tar -zxvf php-8.0.24.tar.gz

sudo mv php-8.0.24 php8

2、配置编译选项

cd php8

sudo ./configure \

--prefix=/data/php-8.0.24 \

--with-config-file-path=/data/php-8.0.24/etc \

--enable-mbstring \

--enable-zip \

--enable-bcmath \

--enable-fpm \

--with-fpm-user=leo \

--with-fpm-group=leo \

--with-curl \

--with-openssl \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-readline \

--with-zlib \

--with-pear \

--with-libdir=lib64

--prefix:指定安装路径。

--with-config-file-path : 配置文件路径

--enable-fpm:启用PHP-FPM(若需配合Nginx使用)。

--with-fpm-user: 指定用户,不能是root

--with-fpm-group: 指定组,不能是root

其他选项按需启用(如不需要某些扩展可删除对应参数)。

我这里不是用root 用户安装,前面要添加 sudo

我这里报错,要解决,报一个错误就解决一个,安装yum 安装包。再在命令行用 configure编译

安装EPEL仓库(如果尚未安装)

sudo yum install epel-release

安装libcurl开发包

sudo yum install libcurl-devel

安装 oniguruma 库

sudo yum install oniguruma-devel

安装readline开发包

sudo yum install readline-devel

出现这个页面就是表示预编译成功

2、编译和安装

sudo make

sudo make test

sudo make install

有警告更新Archive_Tar

复制代码
pear upgrade Archive_Tar

pear install Archive_Tar

pear config-show

然后重新执行 make && make install

配置php的环境变量

sudo vi /etc/profile, 在最下面增加一行 export PATH=/data/php-8.0.24/bin:$PATH

sudo source /etc/profile

php -v出现以下信息说明成功

3、配置 PHP-FPM

修改配置文件

源码包 php-8.0.24

cp /data/php8/php.ini-production /data/php-8.0.24/etc/php.ini

cd /data/php-8.0.24/etc

cp php-fpm.conf.default php-fpm.conf

cd /data/php-8.0.24/etc/php-fpm.d

sudo cp www.conf.default www.conf

修改www.conf文件 # 监听方式为sock ;

listen = 127.0.0.1:9000

listen = php-cgi.sock

listen.owner = leo

listen.group = leo

listen.mode = 0666

将 PHP-FPM 配置为系统服务

/data/php-8.0.24/sbin/php-fpm 不建议直接用这个启动

sudo vi /etc/systemd/system/php-fpm.service

下面是内容

Unit

Description=The PHP FastCGI Process Manager

After=network.target

Service

Type=simple

PIDFile=/run/php-fpm.pid

ExecStart=/data/php-8.0.24/sbin/php-fpm --nodaemonize --fpm-config /data/php-8.0.24/etc/php-fpm.conf

ExecReload=/bin/kill -USR2 $MAINPID

ExecStop=/bin/kill -TERM $MAINPID

PrivateTmp=true

Install

WantedBy=multi-user.target

保存后启动

sudo systemctl start php-fpm

设置php的文件所有者

sudo chown -R leo:leo /data/php-8.0.24/

修改php-cgi.sock 文件的所有者

sudo chown www-data php-cgi.sock

再重新启动 sudo systemctl restart php-fpm

sudo systemctl daemon-reload //重新加载

sudo systemctl start php-fpm //启动

sudo systemctl status php-fpm //状态

sudo systemctl enable php-fpm //开机自动启动

sudo systemctl restart php-fpm //重新启动 php-fpm

扩展知识

/etc/systemd/system/ 目录用于存放系统管理员自己创建或修改的 systemd 服务配置文件。这些配置文件定义了服务的启动方式、依赖关系、运行参数等。

相关推荐
青岑CTF38 分钟前
攻防世界-Ics-05-胎教版wp
开发语言·安全·web安全·网络安全·php
kida_yuan1 小时前
【Linux】运维实战笔记 — 我常用的方法与命令
linux·运维·笔记
@syh.1 小时前
【linux】进程控制
linux
何中应3 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
江畔何人初3 小时前
kubernet与docker的关系
linux·运维·云原生
百炼成神 LV@菜哥3 小时前
Kylin Linux V10 aarch64 安装启动 TigerVNC-Server
linux·服务器·kylin
佑白雪乐4 小时前
<Linux基础11集>电流+二极管+晶体管+存储器
linux
嵌入式郑工4 小时前
RK3566 LubanCat 开发板 USB Gadget 配置完整复盘
linux·驱动开发·ubuntu
one____dream4 小时前
【网安】Reverse-非常规题目
linux·python·安全·网络安全·ctf
j_xxx404_4 小时前
Linux:进程程序替换
linux·运维·服务器