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 服务配置文件。这些配置文件定义了服务的启动方式、依赖关系、运行参数等。

相关推荐
木卫二号Coding4 分钟前
第八十五篇-CentOS-7 + Tesla V100 环境下 Docker 容器内编译部署 Qwen3.6-27B-MTP 大模型实战指南
linux·docker·centos
无限进步_11 分钟前
【Linux】GDB 调试:定位问题的利器
linux·运维·服务器
BingoGo13 分钟前
改变 PHP 未来的 RFC Polling API
后端·php
咕噜企业签名分发-淼淼17 分钟前
浅谈云服务器在后端托管与签名分发场景中的应用价值
开发语言·php
流觞 无依17 分钟前
CentOS 7 系统中 systemd 组件的 CVE-2022-2526 漏洞修复
linux·运维·centos
SilentSamsara20 分钟前
命令行工具开发:Click/Typer + 打包为独立二进制
linux·服务器·开发语言·前端·python·青少年编程·fastapi
赵民勇20 分钟前
Rootless容器详解
linux·容器
worxfr27 分钟前
Linux 磁盘空间排查与清理指南
linux·运维·chrome
苏州IT威翰德28 分钟前
苏州IT基础架构IQ/OQ/PQ确认服务 | 服务器网络验证
开发语言·php
Kurisu57529 分钟前
最终幻想VII重制版修改器下载2026最新版
linux·游戏