当前位置: 首页 > news >正文

Centos7环境安装PHP8

一、安装必要的模块

yum install -y bzip2-devel libcurl-devel libxml2-devel sqlite-devel oniguruma oniguruma-devel libxml2 libxml2-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel zstd libzstd-devel curl libcurl-devel libpng libpng-devel

二、安装PHP

1.下载PHP官方包

在https://www.php.net官网中,查看安装包链接,选择上方“download”, Current Stable PHP 8。

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

2.设置编译需要加载的模块

mkdir php-8.1.9-build
cd php-8.1.9-build
../php-8.1.9/configure --prefix=/usr/local/php-8.1.9 --enable-fpm --with-mysqli --enable-mbstring --with-bz2 --with-curl --enable-gd --with-zip --with-zlib --with-openssl
make -j2 # 双核服务器参数配置
make install
cd ..

3.设置环境变量

#设置环境变量
touch /etc/profile.d/php.sh
chmod 777 /etc/profile.d/php.sh 
echo -e '\nexport PATH=/usr/local/php-8.1.9/bin:$PATH\n' >> /etc/profile.d/php.sh
source /etc/profile.d/php.sh

4.创建配置文件,并将其复制到正确的位置。

# 在源代码目录 php-8.1.9 中下执行以下命令
cd php-8.1.9
cp php.ini-development /usr/local/php-8.1.9/lib/php.ini
cd ..
cp /usr/local/php-8.1.9/etc/php-fpm.conf.default /usr/local/php-8.1.9/etc/php-fpm.conf
cp /usr/local/php-8.1.9/etc/php-fpm.d/www.conf.default /usr/local/php-8.1.9/etc/php-fpm.d/www.conf

三、配置php-fpm服务到systemctl

1.打开php-fpm.conf

vim /usr/local/php-8.1.9/etc/php-fpm.conf

找到以下内容并修改

; Pid file

; Note: the default prefix is/usr/local/php-8.1.9/var

; Default Value: none

pid = /var/run/php-fpm.pid

include=/usr/local/php-8.1.9/etc/php-fpm.d/*.conf

;/usr/local/php-8.1.9/etc/php-fpm.d

 2.新建php-fpm服务文件

vim /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target[Service]
Type=forking
PIDFile=/var/run/php-fpm.pid
ExecStart=/usr/local/php-8.1.9/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target

 3.加载服务

systemctl start php-fpm.servicesystemctl status php-fpm.service

4.配置开机启动服务

systemctl enable php-fpm.service

systemctl stop php-fpm.service

systemctl restart php-fpm.service

systemctl disable php-fpm.service

5,编辑nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

 添加简单的配置:

location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;include        fastcgi_params;fastcgi_param DOCUMENT_ROOT   $realpath_root;fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;}

 重启nginx  

nginx -s reload

 附录:

1、提示No package 'libzip' found或者(libzip >= 0.11)

#卸载老版本的libzip
yum remove libzip
#下载安装libzip-1.2.0
wget https://libzip.org/download/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make && make install

安装完成后,查看是否存在/usr/local/lib/pkgconfig目录,如果存在,执行如下命令来设置PKG_CONFIG_PATH:

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

2、出现No package ‘oniguruma‘ found错误

oniguruma是一个处理正则表达式的库,在编译安装php时,如果使用--enable-mbstring 参数, 开启mbstring扩展,则会出现这个错误。原因:mbstring的正则功能需要oniguruma的支持,系统中却没有oniguruma库。解决方法:1、在'--enable-mbstring'参数后添加'--disable-mbregex'参数,意为不使用mbstring的正则功能,不再需要oniguruma库。2、使用源码安装oniguruma库wget https://github.com/kkos/oniguruma/releases/download/v6.9.5_rev1/onig-6.9.5-rev1.tar.gz -O onig-6.9.5.tar.gz./configure --prefix=/usr --libdir=/lib64在使用./configure时添加‘--libdir=/lib64’参数,安装完成后重新编译PHP,如果不使用该参数则仍会报错。

相关文章:

Centos7环境安装PHP8

一、安装必要的模块 yum install -y bzip2-devel libcurl-devel libxml2-devel sqlite-devel oniguruma oniguruma-devel libxml2 libxml2-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel zstd libzstd-devel curl libcurl-devel libpng libpng-devel …...

No matching client found for package name ‘com.unity3d.player‘

2024年2月5日更新 必须使用Unity方式接入Unity项目!一句话解决所有问题。(真的别玩Android方式) 大致这问题出现原因是我在Unity采用了Android方式接入Firebase,而Android接入实际上和Unity接入方式有配置上的不一样,我…...

JavaWeb之HTML-CSS --黑马笔记

什么是HTML ? 标记语言:由标签构成的语言。 注意:HTML标签都是预定义好的,HTML代码直接在浏览器中运行,HTML标签由浏览器解析。 什么是CSS ? 开发工具 VS Code --安装文档和安装包都在网盘中 链接:https://p…...

logback日志配置

springboot默认使用logback 无需额外添加pom依赖 1.指定日志文件路径 当前项目路径 testlog文件夹下 linux会在项目jar包同级目录 <property name"log.path" value"./testlog" /> 如果是下面这样配置的话 window会保存在当前项目所在盘的home文件夹…...

SpringBoot集成Flowable工作流

文章目录 一、了解Flowable1. 什么是Flowable2. Flowable基本流程3. Flowable主要几张表介绍 二、SpringBoot集成Flowable1. 在idea中安装Flowable插件2. SpringBoot集成Flowable3. SpringBoot集成Flowable前端页面 三、创建流程模版(以请假为例) 提示&#xff1a;以下是本篇文…...

try-with-resources 语法详解

目录 一、介绍 二、用法对比 三、优势 四、原理分析 一、介绍 在Java 7中&#xff0c;引入了一项重要的语法糖——try-with-resources&#xff0c;这项特性的目的是为了更有效地处理资源的管理。资源指的是需要在代码执行完毕后手动关闭的对象&#xff0c;比如文件流、网络…...

【Java程序设计】【C00207】基于(JavaWeb+SSM)的宠物领养管理系统(论文+PPT)

基于&#xff08;JavaWebSSM&#xff09;的宠物领养管理系统&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的宠物领养系统 本系统分为前台系统、管理员、收养者和寄养者4个功能模块。 前台系统&#xff1a;游客打开系统…...

2024-2-4-复习作业

源代码&#xff1a; #include <stdio.h> #include <stdlib.h> typedef int datatype; typedef struct Node {datatype data;struct Node *next;struct Node *prev; }*DoubleLinkList;DoubleLinkList create() {DoubleLinkList s(DoubleLinkList)malloc(sizeof(st…...

【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】

前言 大家好吖&#xff0c;欢迎来到 YY 滴Linux 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…...

【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现

盘点本年度探索对外服务的百万请求量的API网关设计实现 背景介绍高性能API网关API网关架构优化多级缓存架构设计多级缓存富客户端漏斗模型数据读取架构 异步刷新过期缓存网关异步化调用模型高性能批量API调用&#xff08;减少对于网关的交互和通信&#xff09;并行调用和请求合…...

Python算法题集_环形链表

Python算法题集_环形链表 题234&#xff1a;环形链表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【集合检索】2) 改进版一【字典检测】3) 改进版二【双指针】 4. 最优算法 本文为Python算法题集之一的代码示例 题234&#xff1a;环形链表 …...

【51单片机】开发板&开发软件(Keil5&STC-ISP)简介&下载安装破译传送门(1)

前言 大家好吖&#xff0c;欢迎来到 YY 滴单片机系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过单片机的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…...

#vu3# element plus表格的序号字段

在表格中添加序号字段&#xff0c;可以使用以下几种方式来实现 1. 利用索引 在<el-table>组件的<el-table-column>中使用插槽来显示序号。示例&#xff1a; <el-table :data"tableData"><el-table-column label"序号" type"i…...

华为配置OSPF与BFD联动示例

配置OSPF与BFD联动示例 组网图形 图1 配置OSPF与BFD联动组网图 OSPF与BFD联动简介配置注意事项组网需求配置思路操作步骤配置文件 OSPF与BFD联动简介 双向转发检测BFD&#xff08;Bidirectional Forwarding Detection&#xff09;是一种用于检测转发引擎之间通信故障的检测…...

Git 常用命令详解及如何在IDEA中操作

文章目录 前言发现宝藏一、初识Git1.Git概述2. Git的功能3. Git运行图示 二、Git下载安装三、Git 代码托管服务1.常用的 Git 代码托管服务2.使用码云代码托管服务 四、Git 常用命令1.Git 全局设置2.获取Git 仓库3.工作区、暂存区、版本库 概念4.Git 工作区中文件的两种状态5.本…...

linux+rv1126/imx6ull:opencv静态库交叉编译(手把手百分百成功)

目录 1.下载 2.准备工作 2.1安装依赖环境 2.2安装Cmake 2.3 解压opencv 3.Cmake设置...

Python使用回调函数或async/await关键字、协程实现异步编程

异步编程是一种编程模式,它允许程序在执行某个任务时,能够同时执行其他任务而不需要等待当前任务完成。在传统的同步编程中,程序执行一个任务后必须等待该任务完成后才能继续执行下一个任务。而在异步编程中,程序可以发起一个任务后立即执行其他任务,当原先的任务完成后,…...

异地办公必不可缺的远程控制软件,原理到底是什么?

目录 引言远程桌面连接软件的作用与重要性 基本概念与架构客户端-服务器模型网络通信协议 核心技术组件图形界面捕获与传输输入转发会话管理 性能优化策略带宽优化延迟优化 引言 远程桌面连接软件的作用与重要性 在当今这个高度数字化和网络化的时代&#xff0c;远程桌面连接软…...

docker更换镜像源

添加的镜像源 {"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com", "https://reg-mirror.qiniu.com/", "https://docker.mirrors.ustc.edu.cn"] }docker更换镜像源之后一定要重启守卫 systemctl daemon-reloaddock…...

SaaS 电商设计 (八) 直接就能用的一套商品池完整的设计方案(建议收藏)

目录 一.前言1.1 在哪些业务场景里使用1.2 一些名词搞懂他1.3 结合业务思考一下-业务or产品的意图 二.方案设计2.1 业务主流程2.2 一步步带你分析B端如何配置2.3 数据流2.3.1 ES 数据表建设2.3.2 核心商品池流程2.3.2.1 商品池B端维护流程2.3.2.2 商品池版本更新逻辑 2.4 核心代…...

免费开源的质谱分析革新工具:从数据到发现的完整路径

免费开源的质谱分析革新工具&#xff1a;从数据到发现的完整路径 【免费下载链接】OpenMS The codebase of the OpenMS project 项目地址: https://gitcode.com/gh_mirrors/op/OpenMS OpenMS作为一款免费开源的质谱数据分析平台&#xff0c;为科研人员提供了从原始质谱数…...

5分钟搭建原神私服:KCN-GenshinServer终极指南

5分钟搭建原神私服&#xff1a;KCN-GenshinServer终极指南 【免费下载链接】KCN-GenshinServer 基于GC制作的原神一键GUI多功能服务端。 项目地址: https://gitcode.com/gh_mirrors/kc/KCN-GenshinServer 还在为复杂的命令行配置而头疼吗&#xff1f;想要轻松拥有自己的…...

Realistic Vision V5.1 Streamlit界面源码解析:如何扩展自定义摄影滤镜

Realistic Vision V5.1 Streamlit界面源码解析&#xff1a;如何扩展自定义摄影滤镜 1. 项目背景与技术特点 Realistic Vision V5.1是目前SD 1.5生态中最顶级的写实风格模型之一&#xff0c;能够生成媲美专业单反相机拍摄的人像作品。本项目通过Streamlit框架构建了直观的交互…...

3步打造游戏性能优化神器:DLSS Swapper零基础掌握指南

3步打造游戏性能优化神器&#xff1a;DLSS Swapper零基础掌握指南 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款专为PC游戏玩家设计的DLSS版本管理工具&#xff0c;通过自动化版本切换、智能游戏扫…...

企业微信自动化新解:PC端HOOK与iPad协议双轨实践

1. 企业微信自动化的业务痛点与双轨方案 最近两年服务企业客户时&#xff0c;最常被问到的就是&#xff1a;"每天要手动处理上千条客户消息&#xff0c;有没有更高效的解决方案&#xff1f;" 这让我意识到企业微信自动化已成为刚需。传统人工操作在批量消息发送、大规…...

别再手动记数据了!用MATLAB脚本自动读取串口,5分钟搞定数据采集

别再手动记数据了&#xff01;用MATLAB脚本自动读取串口&#xff0c;5分钟搞定数据采集 还在用串口助手手动记录数据&#xff1f;每次实验都要盯着屏幕抄写数值&#xff0c;不仅效率低下&#xff0c;还容易出错。想象一下&#xff1a;当你正在进行长达数小时的温度监测实验&…...

GLM-4.1V-9B-Base入门必看:中文提问技巧——如何写出高稳定度问题

GLM-4.1V-9B-Base入门必看&#xff1a;中文提问技巧——如何写出高稳定度问题 1. 认识GLM-4.1V-9B-Base GLM-4.1V-9B-Base是智谱开源的视觉多模态理解模型&#xff0c;专门用于处理图像内容识别、场景描述、目标问答等中文视觉理解任务。与普通聊天模型不同&#xff0c;它更擅…...

FireRedASR-AED-L本地化教程:国产统信UOS/麒麟系统全兼容部署方案

FireRedASR-AED-L本地化教程&#xff1a;国产统信UOS/麒麟系统全兼容部署方案 提示&#xff1a;本教程已在统信UOS 20、麒麟V10系统完成实测验证&#xff0c;同样适用于Ubuntu、CentOS等Linux发行版 1. 项目简介&#xff1a;为什么选择这个工具&#xff1f; 如果你正在寻找一个…...

OpenClaw自动化流水线:Phi-3-vision处理图片转Excel报表

OpenClaw自动化流水线&#xff1a;Phi-3-vision处理图片转Excel报表 1. 为什么需要自动化报表生成 上周我收到财务同事发来的20张手机拍摄的销售数据表照片&#xff0c;要求整理成统一格式的Excel报表。手动录入数据花了整整3小时&#xff0c;期间还因为看错数字返工两次。这…...

AI Agent开发实战系列 - LangGraph(8): 利用add_conditional_edges构建智能决策工作流

1. 理解LangGraph中的条件决策机制 在AI Agent开发中&#xff0c;动态决策能力是区分普通流程和智能系统的关键。LangGraph提供的add_conditional_edges方法就像给工作流装上了"智能导航系统"——我最近在客服工单系统中实践时发现&#xff0c;传统硬编码的分流规则需…...