CentOS7使用源码安装PHP8教程整理

news2025/1/31 8:22:23

CentOS7使用源码安装PHP8教程整理

    • 下载安装包
    • 解压下载的php tar源码包
    • 安装所需的一些依赖扩展库
    • 安装前的配置
    • 修改配置文件
      • 1、进入php8的安装包
    • 配置环境变量
    • 开机自启
    • 启动服务
    • 创建软连接
    • 常见问题
      • 1、checking for icu-uc >= 50.1 icu-io icu-i18n... no
      • 2、configure: error: Package requirements (oniguruma) were not met:
      • 3、configure: error: Cannot find libtidy
      • 4、configure: error: Package requirements (libxslt >= 1.1.0) were not met:
      • 5、error: Package requirements (sqlite3 > 3.7.4) were not met:

下载安装包

有多个安装版本,根据自己的需求可以下载php8的各个版本

https://www.php.net/downloads.php

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

解压下载的php tar源码包

tar -zxvf php-8.3.16.tar.gz

安装所需的一些依赖扩展库

yum -y install   libxml2*   openssl*  libcurl* libjpeg*      libpng*      freetype*      libmcrypt*

安装前的配置

cd php-8.3.16

进入目录,执行以下命令

./configure --prefix=/usr/local/php8 --with-config-file-path=/usr/local/php8/etc --enable-fpm --enable-mysqlnd --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --enable-gd --with-tidy --with-gettext --enable-intl --with-kerberos --with-libdir=lib64 --with-mysqli --enable-ftp --with-openssl --with-pdo-mysql --with-pdo-sqlite --with-pear --disable-fileinfo --with-xsl --with-zlib --with-bz2 --with-mhash --enable-bcmath --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-calendar --enable-exif

看到这张图,表示执行成功,如果没有,就解决error

在这里插入图片描述继续执行以下命令

make && make install

在这里插入图片描述执行到这里,表示执行成功了
在这里插入图片描述

修改配置文件

1、进入php8的安装包

cd php-8.3.16/
cp -a php.ini-production /usr/local/php8/etc/php.ini

在这里插入图片描述
进入安装目录

cd /usr/local/php8/etc

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

cd /usr/local/php8/etc/php-fpm.d

cp www.conf.default www.conf

修改www.conf文件

修改端口号,9000 为9001,因为我有两个php版本,还有一个php7

listen = 127.0.0.1:9001
listen.owner = nginx
listen.group = nginx
listen.mode = 0666

在这里插入图片描述

配置环境变量

我这里是两个php版本,所以就又增加了一个php8

PATH=$PATH:/usr/local/php7/bin:/usr/local/php7/sbin/:/usr/local/php8/bin:/usr/local/php8/sbin/

保存环境变量,并执行以下命令,让其生效

source /etc/profile

开机自启

# 源码包 php-8.0.24/sapi/fpm

cd ./php-8.3.16/sapi/fpm

cp php-fpm.service /usr/lib/systemd/system/php-fpm-8.3.16.service
cp init.d.php-fpm /etc/init.d/php8-fpm

chmod +x /etc/init.d/php8-fpm 

启动服务

service php8-fpm start
service php8-fpm stop
service php8-fpm restart

创建软连接

ln -s /usr/local/php8/bin/php /usr/local/bin/php8

在这里插入图片描述

常见问题

1、checking for icu-uc >= 50.1 icu-io icu-i18n… no

在这里插入图片描述

checking for icu-uc >= 50.1 icu-io icu-i18n... no
configure: error: Package requirements (icu-uc >= 50.1 icu-io icu-i18n) were not met:

No package 'icu-uc' found
No package 'icu-io' found
No package 'icu-i18n' found

解决方案:

yum  -y install libicu-devel

2、configure: error: Package requirements (oniguruma) were not met:

在这里插入图片描述

checking whether to enable multibyte regex support (requires oniguruma)... yes
checking for oniguruma... no
configure: error: Package requirements (oniguruma) were not met:

No package 'oniguruma' found

解决方案:

yum -y install oniguruma oniguruma-devel

3、configure: error: Cannot find libtidy

yum -y install libtidy-devel

4、configure: error: Package requirements (libxslt >= 1.1.0) were not met:

yum -y install libxslt-devel

5、error: Package requirements (sqlite3 > 3.7.4) were not met:

yum install sqlite-devel

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2284231.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

08-Elasticsearch

黑马商城作为一个电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的,存在很多问题。 首先,查询效率较低。 由于数据库模糊查询不走索引,在数据量较大的时候,查询性能很…

SQL在DBA手里-改写篇

背景 最近运营需要做月报汇总交易情况,之前一直是他们手工出的数据,他们想做成月初自动发送邮件,从而减轻他们的工作量。于是他们提供SQL我们在邮件服务器配置做定时发送任务。 表介绍(表及字段已做脱敏处理) trans…

企业财务管理系统的需求设计和实现

该作者的原创文章目录: 生产制造执行MES系统的需求设计和实现 企业后勤管理系统的需求设计和实现 行政办公管理系统的需求设计和实现 人力资源管理HR系统的需求设计和实现 企业财务管理系统的需求设计和实现 董事会办公管理系统的需求设计和实现 公司组织架构…

Couchbase UI: Server

在 Couchbase UI 中的 Server(服务器)标签页主要用于管理和监控集群中的各个节点。以下是 Server 标签页的主要内容和功能介绍: 1. 节点列表 显示集群中所有节点的列表,每个节点的详细信息包括: 节点地址&#xff1…

【软件设计师中级】-笔记缩减版本-计算机系统基础知识

1. 计算机系统基础知识 1.1. 计算机系统硬件基本组成硬件 中央处理器(CPU)硬件系统的核心 运算器 控制器 存储器(记忆设备) 内部存储器(速度高,容量小):临时存放程序、数据及中间结…

SAP MM 记录一次SAP外协采购收货提示 这种物料的特殊库存 O 0100003359 14019002不存在的问题

根据采购订单收货,调用时 BAPI_GOODSMVT_CREATE时返回 { "TYPE":"E", "ID":"M7", "NUMBER":"076", "MESSAGE":"这种物料的特殊库存 O 0100003359 14019002不存在"…

在 Ubuntu22.04 上安装 Splunk

ELK感觉太麻烦了,换个日志收集工具 Splunk 是一种 IT 工具,可帮助在任何设备上收集日志、分析、可视化、审计和创建报告。简单来说,它将“机器生成的数据转换为人类可读的数据”。它支持从虚拟机、网络设备、防火墙、基于 Unix 和基于 Windo…

计算机网络 (60)蜂窝移动通信网

一、定义与原理 蜂窝移动通信网是指将一个服务区分为若干蜂窝状相邻小区并采用频率空间复用技术的移动通信网。其原理在于,将移动通信服务区划分成许多以正六边形为基本几何图形的覆盖区域,称为蜂窝小区。每个小区设置一个基站,负责本小区内移…

壁纸设计过程中如何增加氛围感

在壁纸设计过程中,增加氛围感是提升整体视觉效果和情感传达的关键。以下是一些具体的方法和技巧,帮助你在设计中营造出强烈的氛围感: 一、色彩运用 选择主题色: 根据你想要传达的情感选择主色调。例如,温暖的色调&…

|Python新手小白中级教程|第二十九章:面向对象编程(Python类的拓展延伸与10道实操题目)(5)

文章目录 前言1.类变量与实例变量2.静态方法和类方法1.静态方法2.类方法 3.实操使用1. 创建一个名为Person的类,包含属性name和age,并且有一个方法introduce()用于介绍自己的名字和年龄。2. 创建一个名为Circle的类,包含属性radius和color&am…

UE求职Demo开发日志#12 完善击杀获得物品逻辑和UI

1 实现思路 1.给WarehouseManager添加一个按TArray增加物品的函数 2.Enemy身上一个变量记录掉落物品,死亡时调用增加物品函数 3.同时调用UI显示 2 实现过程 2.1 在WarehouseManager里添加一个AddItemByArray函数 遍历数组调用添加函数 void UWarehouseManage…

安装Ubuntu22.04

1.引用教程 如何安装Ubuntu Server 22.04 LTS_ubuntu22.04 server-CSDN博客 2.空间分配 要使用 docker 比较多所以分别的 docker 空间大

【阅读笔记】基于整数+分数微分的清晰度评价算子

本文介绍的是一种新的清晰度评价算子,整数微分算子分数微分算子 一、概述 目前在数字图像清晰度评价函数中常用的评价函数包括三类:灰度梯度评价函数、频域函数和统计学函数,其中灰度梯度评价函数具有计算简单,评价效果好等优点…

scratch七彩六边形 2024年12月scratch三级真题 中国电子学会 图形化编程 scratch三级真题和答案解析

目录 scratch七彩六边形 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、…

Alfresco Content Services dockerCompose自动化部署详尽操作

Alfresco Content Services docker社区部署文档 Alfresco Content Services简介 Alfresco Content Services(简称ACS)是一款功能完备的企业内容管理(ECM)解决方案,主要面向那些对企业级内容管理有高要求的组织。具体…

电子应用设计方案105:智能家庭AI拖把系统设计

智能家庭 AI 拖把系统设计 一、引言 智能家庭 AI 拖把系统旨在为用户提供更高效、便捷和智能化的地面清洁解决方案,减轻家务劳动负担。 二、系统概述 1. 系统目标 - 自动清洁地面,包括吸尘、拖地和擦干功能。 - 智能识别地面材质和污渍程度&#xff0c…

Spring整合Mybatis、junit纯注解

如何创建一个Spring项目 错误问题 不知道什么原因,大概是依赖版本不兼容、java版本不对的问题,折磨了好久就是搞不成。 主要原因看pom.xml配置 pom.xml配置 java版本 由于是跟着22年黑马视频做的,java版本换成了jdk-11,用21以…

深入探讨数据库索引类型:B-tree、Hash、GIN与GiST的对比与应用

title: 深入探讨数据库索引类型:B-tree、Hash、GIN与GiST的对比与应用 date: 2025/1/26 updated: 2025/1/26 author: cmdragon excerpt: 在现代数据库管理系统中,索引技术是提高查询性能的重要手段。当数据量不断增长时,如何快速、有效地访问这些数据成为了数据库设计的核…

分布式系统学习:小结

关于分布式系统的学习就暂时告一段落了,下面整理了个思维导图,只涉及分布式的一些相关概念,需要的可自取。后面准备写下关于AI编程相关的技术文章,毕竟要紧跟时代的脚步嘛 思维导图xmind文件下载地址:https://download…

基于STM32的阿里云智能农业大棚

目录 前言: 项目效果演示: 一、简介 二、硬件需求准备 三、硬件框图 四、CubeMX配置 4.1、按键、蜂鸣器GPIO口配置 4.2、ADC输入配置 4.3、IIC——驱动OLED 4.4、DHT11温湿度读取 4.5、PWM配置——光照灯、水泵、风扇 4.6、串口——esp8266模…