如何在 Ubuntu 24.04 上安装多PHP版本 (从8.3到5.6) ?

How to Install PHP on Ubuntu 24.04

PHP 代表超文本预处理器,它仍然是网络的基石,为互联网上很大一部分网站和网络应用程序提供动力。大多数顶级网站和博客工具仍然使用 PHP,如 WordPress, Facebook, Wikipedia 等。如果你在 Ubuntu 24.04 上为 web 开发,安装 PHP 可能是你要承担的首要任务之一。

本指南将向您展示如何在 Ubuntu 24.04 系统上安装不同版本的 PHP (从 8.3 到 5.6)。

必备条件

  • A system running Ubuntu 24.04
  • Sudo privileges
  • Internet connection

Step 1: Update Your System

首先,确保更新系统。

sudo apt update
sudo apt upgrade -y

Step 2: Install Software Properties Common

Ubuntu 24.04 应该安装了 software-properties-common,如果没有,使用下面的命令安装它。

sudo apt install software-properties-common -y

Step 3: Add PHP Repository

为了确保访问最新的 PHP 版本,包括 8.3、8.2 和 7.4,建议添加第三方存储库,例如:Ondřej Surý PPA,这在 Ubuntu 社区中广受信任,这个存储库包含用于 Active LTS 版本的更新的 PHP Debian 软件包。

使用以下命令将 PHP 存储库添加到系统中

LC_ALL=C.UTF-8 sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

Step 4: Install PHP

将存储库添加到系统后,就可以继续安装 PHP 和所需的模块。您可以选择安装 PHP 8.3、8.2、8.1、8.0、7.4、7.3、7.2、7.1、7.1 或 5.6,这取决于您的应用程序需求。

For PHP 8.3

sudo apt install php8.3 -y

For PHP 8.2

sudo apt install php8.2 -y

For PHP 7.4

sudo apt install php7.4 -y

Step 5: Verify Installation

安装完成后,可以通过检查版本来验证 PHP 安装是否正确。

php -v

该命令输出您安装的默认PHP 版本,以及一些附加信息。要查看其他 php 版本,请使用命令:php8.3 -v ', php8.2 -vphp7.4 -v 等。

Step 6: Install PHP Extensions

PHP 扩展增强或添加 PHP 功能,要安装扩展,可以使用以下命令。

sudo apt install phpX.X-extension_name

下面是为 PHP 8.3 安装 MySQL 扩展的示例

sudo apt install php8.3-mysql

下面是为 PHP 7.4 安装 MySQL 扩展的示例

sudo apt install php7.4-mysql

Step 7: Install PHP Composer (Optional)

Composer 是用于 PHP 应用程序的依赖项管理工具。虽然 Composer 并不是每个项目都必需的,但对于希望简化工作流程并确保正确安装和管理项目依赖项的开发人员来说,它是非常有价值的资产。您可以通过执行以下命令来安装它。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Step 7: Configure PHP (Optional)

优化 PHP 配置可以提高项目的性能,主配置文件 php.ini 可能的位置如下:

  • Apache: /etc/php/X.X/apache/php.ini
  • CLI: /etc/php/X.X/cli/php.ini
  • FPM: /etc/php/X.X/fpm/php.ini

记住将 X.X 替换为您的 PHP 版本。FPM 通常由 Nginx 使用,有时在使用非默认 PHP 版本的应用程序中与 Apache 一起使用。

我的开源项目

酷瓜云课堂-开源知识付费解决方案

  • course-tencent-cloud(酷瓜云课堂 - gitee仓库)
  • course-tencent-cloud(酷瓜云课堂 - github仓库)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法的学习笔记—数组中只出现一次的数字(牛客JZ56)

😀前言 在数组中寻找只出现一次的两个数字是一道经典的问题,通常可以通过位运算来有效解决。本文将详细介绍这一问题的解法,深入解析其背后的思路。 🏠个人主页:尘觉主页 文章目录 🥰数组中只出现一次的数字…

rtsp的2种收流模式

rtsp协商成功以后就是rtp收流,又分为两种模式:rtp over rtsp(tcp)和rtp over udp。 1.rtsp over rtsp 这个现在一般都叫TCP,它的特点是rtsp服务端和客户端是共用一个tcp链接,也就是说rtsp协议报文、rtp包、rtcp数据都是通过这一个链接来交互…

合约门合同全生命周期管理系统:企业合同管理的数字化转型之道

合约门合同全生命周期管理系统:企业合同管理的数字化转型之道 1. 引言 在现代企业中,合同管理已经不再是简单的文件存储和审批流程,而是企业合规性、风险管理和业务流程的关键环节之一。随着企业规模的扩大和合同数量的增加,传统…

第二单元历年真题整理

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 参考答案 1. A 2. A 3. A 4. D 5. D 6. D 解析: 栈和队列是两个不一样的结构,不能放在一起表示 7. B 8. C 解析: S --> A0 | B1 --> (S1 | 1) 0 | (S0 | 0)1 --> S10 | 10 | S…

51单片机快速入门之 模拟 I2C 用精准中断来控制

51单片机快速入门之 模拟 I2C 用精准中断来控制 首先复习一下51单片机快速入门之定时器和计数器(含中断基础) 再看看之前的I2C操作 51单片机快速入门之 IIC I2C通信 定时器/计数器是51单片机中用于实现精确延时的硬件资源。通过配置定时器的初始值和工作模式,可以…

Unable to open nested entry ‘********.jar‘ 问题解决

今天把现网版本的task的jar拖回来然后用7-zip打开拖了一个jar进去替换mysql-connector-java-5.1.47.jar 为 mysql-connector-java-5.1.27.jar 启动微服务的时候就报错下面的 Exception in thread "main" java.lang.IllegalStateException: Failed to get nested ar…

《Python游戏编程入门》注-第2章2

《Python游戏编程入门》的“2.2.5 绘制线条”中提到了通过pygame库绘制线条的方法。 1 相关函数介绍 通过pygame.draw模块中的line()函数来绘制线条,该函数的格式如下所示。 line(surface, color, start_pos, end_pos, width1) -> Rect 其中,第一…

开源限流组件分析(二):uber-go/ratelimit

文章目录 本系列漏桶限流算法uber的漏桶算法使用mutex版本数据结构获取令牌松弛量 atomic版本数据结构获取令牌测试漏桶的松弛量 总结 本系列 开源限流组件分析(一):juju/ratelimit开源限流组件分析(二):u…

部署前后端分离若依项目--CentOS7宝塔版

准备: CentOS7服务器一台 通过网盘分享的文件:CentOS 7 h 链接: https://pan.baidu.com/s/17DF8eRSSDuj9VeqselGa_Q 提取码: s7x4 大家有需要可以下载这个,密码61 若依前端编译后文件 通过网盘分享的文件:ruoyi-admin.jar 链…

生信软件39 - GATK最佳实践流程重构,提高17倍分析速度的LUSH流程

1. LUSH流程简介 基因组测序通常用于分子诊断、分期和预后,而大量测序数据在分析时间方面提出了挑战。 对于从FASTQ到VCF的整个流程,LUSH流程在非GVCF和GVCF模式下都大大降低了运行时间,30 X WGS数据耗时不到2 h,从BAM到VCF约需…

【计网】UDP Echo Server与Client实战:从零开始构建简单通信回显程序

目录 前言: 1.实现udpserver类 1.1.创建udp socket 套接字 --- 必须要做的 socket()讲解 代码实现:​编辑 代码讲解: 1.2.填充sockaddr_in结构 代码实现: 代码解析: 1.3.bind sockfd和…

linux中级wed服务器(https搭建加密服务器)

一。非对称加密算法: 公钥:公共密钥,开放 私钥:私有密钥,保密 1.发送方用自己的公钥加密,接受方用发送方的私钥解密:不可行 2.发送方用接受方的公钥加密,接受方用自己的私钥解密…

ffmpeg视频滤镜: 色温- colortemperature

滤镜简述 colortemperature 官网链接 》 FFmpeg Filters Documentation 这个滤镜可以调节图片的色温,色温值越大显得越冷,可以参考一下下图: 咱们装修的时候可能会用到,比如选择灯还有地板的颜色的时候,选暖色调还是…

【论文+源码】基于spring boot的垃圾分类网站

创建一个基于Spring Boot的垃圾分类网站涉及多个步骤,包括环境搭建、项目创建、数据库设计、后端服务开发、前端页面设计等。下面我将引导您完成这个过程。 第一步:准备环境 确保您的开发环境中安装了以下工具: Java JDK 8 或更高版本Mav…

Unity URP ShaderGraph 基本设置

先简单了解一下各种渲染管线之间的区别 Unity 从 2019.3 版本开始正式支持通用渲染管线(URP,Universal Render Pipeline)。URP 是轻量渲染管线(LWRP,Lightweight Render Pipeline)的升级和重命名版本&…

【解决】使用Hypermark将Markdown文件转化为HTML文件

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 文章目录 一、文件准备(一)HTML模板文件(二)MD文件夹和储存文件夹 二、文件转…

COSCon'24 志愿者招募令:共创开源新生活!

亲爱的开源爱好者们, 第九届中国开源年会(COSCon24)即将在北京中关村国家自主创新示范区会议中心于2024年11月2日至3日隆重举行。今年的主题是“Open Source, Open Life|开源新生活”,旨在探索开源技术如何在各个领域推…

日常记录,使用springboot,vue2,easyexcel使实现字段的匹配导入

目前的需求是数据库字段固定,而excel的字段不固定,需要实现excel导入到一个数据库内。 首先是前端的字段匹配,显示数据库字段和表头字段 读取表头字段: 我这里实现的是监听器导入,需要新建一个listen类。 读Excel …

uniApp 加载google地图 并规划路线

uniApp 加载google地图 并规划路线 备注:核心代码实例 备注: 打开谷歌地图失败的话 参考google开发文档 https://developers.google.com/maps/documentation/urls/ios-urlscheme?hlzh-cn#swift核心代码 mounted() {this.loadGoogleMapsScript(); }, methods: {//加载loadGo…

AI服务器HBA卡的国产PCIe4.0/5.0 switch信号完整性设计与实现,支持定制(二)

表 2 展示了 PCB 板所选介质材料 PSR4000AUS703 , &#xff3…