同一台服务器上多版本PHP切换(apache2 php8.2 php7.2)

news2024/11/28 4:42:59

我们有时会在同一台服务器上搭建多个版本的PHP,用来测试不同的程序。可是如何在多个版本之间切换呢?本文以ubuntu1804Server为例给大家进行讲解示范。

环境

  • ubuntu1804server 4.15.0-200-generic
  • apache2
  • php 7.4
  • php 8.2

1.安装apche2

apache2的安装非常简单,直接使用下面的命令安装即可。

sudo apt install -y apache2

如果安装过程中没有报错,启动一下apache2,并将apache2加入开机自启。

sudo systemctl start apache2
sudo systemctl enable apache2

查看一下apache2的运行状态。

sudo systemctl status apache2

在这里插入图片描述
如果出现上图说明apache2已经正常启动了,还可以通过浏览器进行查看,如果在浏览器中出现下图中的欢迎页面说明apache2的安装没有问题了。

在这里插入图片描述

2.安装php7.2

ubuntu1804 server通过官方源安装的PHP就是7.2.

sudo apt install -y php

在这里插入图片描述
由于我之前安装过PHP,使用php --version命令查看一下php的版本是php 7.2.24。

还可以通过phpinfo()信息查看一下当前的php更详细的信息,具体方法如下。编辑文件/var/www/html/phpinfo.php文件,

sudo vim /var/www/html/phpinfo.php

加入以下代码。

<?php
	echo phpinfo();

然后在浏览器中访问一下http://YourServerIP/phpinfo.php,如果出现下图说明你的php7.2已经正常运行了,在phpinfo中还可以查看php相关的更详细的信息。
在这里插入图片描述

3.安装php8.2

php8.2已经发布了,php8.2不一定适合生产环境,但是对于想尝鲜的同学来说安装php8.2探索一下8.2版本有什么提升总是好的。

添加php8.2的ppa源。

LC_ALL=C.UTF-8 sudo add-apt-repository ppa:ondrej/php
sudo apt update
apt search php | grep ^php

这个php ppa源还是相当给力的,通过上面的命令3查看php你会发现从php5到php8.2几乎各个版本都涵盖了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
好了那就安装一下php8.2吧。

sudo apt install -y php8.2

整个安装过程非常的丝滑。

在这里插入图片描述
安装完成后想看一下php的版本号。

php --version

在这里插入图片描述
目前系统中的php版本已经变成php8.2了。

4.验证

上面的操作似乎有点太顺利了,我们使用浏览器查看一下php的版本详细信息吧。
在这里插入图片描述
咦?怎么没有变化?我刷新,我ctrl+F5,我换浏览器,我重启系统,好吧一番折腾问题依旧,人家php7.2版本岿然不动。

由于我系统采用的是apache2+PHP,在这种架构下,PHP是作为apache2的模块加载的,所以在system service中并看不到php,所以要解决问题还得从apache2上入手。

apache2的相关配置信息都集中在/etc/apache2文件夹中,查看一下这个文件夹都有哪些内容吧。

ll /etc/apache2

在这里插入图片描述

我们会发现该目录下有mods-availablemods-enabled与模块相关的两个子目录,进入

mods-enabled目录继续查看。
在这里插入图片描述
原来问题出在这里,看到没,虽然我们已经安装了php8.2系统也已经默认php的版本就是php8.2了,但是apache2却没有加载它,在这个文件夹中把php7.2两个相关的软链接删除,重新添加php8.2相关的软链接。

rm -rf php7.2*
ln -s /etc/apache2/mods-available/php8.2.conf php8.2.conf
ln -s /etc/apache2/mods-available/php8.2.load php8.2.load

在这里插入图片描述
完成上述操作后,重启apache2然后再到浏览器中查看php的详细信息。

sudo systemctl restart apache2

在这里插入图片描述
至此php8.2完美的呈现了。

在这里插入图片描述

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

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

相关文章

【项目管理】项目中的进度管理,你知道多少?

有效实施项目进度计划&#xff0c;是项目成功的重要保障&#xff0c;项目进度管理也是每位项目经理都非常重视的问题。 项目中的进度管理可以帮助您了解项目当前进度&#xff0c;估计项目是否能顺利完成。 项目管理就是通过的对知识、技能、工具的运用对项目活动进行管理&am…

星环数据云平台 TDC 3.1 发布,新增滚动重启、存储回收站等八大核心功能

近日&#xff0c;星环数据云平台 Transwarp Data Cloud &#xff08;以下简称 TDC&#xff09;正式推出 3.1 版本。TDC 是采用云原生技术&#xff0c;融合星环科技全系产品打造的统一 PaaS 平台&#xff0c;可以为企业提供数据流通交易平台、企业湖仓一体数据湖、企业数据中台、…

Redis框架(十四):大众点评项目 基于Redis实现点赞功能实现

大众点评项目 基于Redis的点赞功能实现需求&#xff1a;基于Redis实现点赞功能实现业务实战总体代码展示总结SpringCloud章节复习已经过去&#xff0c;新的章节Redis开始了&#xff0c;这个章节中将会回顾Redis实战项目 大众点评 主要依照以下几个原则 基础实战的Demo和Coding…

解读一个四路组相联cache代码

解读一个四路组相联cache代码 在《计算机组成原理&#xff0c;软硬件接口》中&#xff0c;第五章便是cache的学习。本人初学cache&#xff0c;难免有疏漏之处&#xff0c;源代码github地址&#xff1a;https://github.com/airin711/Verilog-caches 1、四路组相联cache主要特征…

Milvus 2.1.x 到 Milvus 2.2.x 升级实践

近日&#xff0c;Milvus 2.2.0 发布&#xff0c;新版本里支持了许多激动人心的功能&#xff0c;包括&#xff1a;磁盘索引&#xff08;DiskANN&#xff09;、从文件中批量导入数据&#xff08;bulk_insert&#xff09;、基于角色的访问控制&#xff08;RBAC&#xff09;、集合生…

Linux | 网络概念理解 | 对网络的初始

文章目录重新看待计算机体系结构软件分层的思想网络中的分层协议的理解局域网的理解MAC地址 && IP地址报头的作用端口号&#xff08;port&#xff09;重新看待计算机体系结构 计算机由硬件组成&#xff0c;而不同硬件之间要怎么通信&#xff0c;或者说要怎么进行数据的…

MySQL——count(*)的底层实现以及相关优化

在开发系统的时候&#xff0c;可能需要需要计算一个表的行数这时候你可能会想&#xff0c;一条 select count(*) from t 语句不就解决了吗&#xff1f; 但是&#xff0c;会发现随着系统中记录数越来越多&#xff0c;这条语句执行得也会越来越慢。然后可能就想了&#xff0c;My…

盘点2022企业网络安全的七大成功要素

网络安全弹性已成为企业的重中之重&#xff0c;高达62%的受访企业在过去两年中经历了影响业务的安全事件。 最流行的四大攻击事件类型是&#xff1a; 1)网络或数据泄露&#xff08;51.5%&#xff09; 2)网络或系统中断&#xff08;51.1%&#xff09; 3)勒索软件事件&#x…

openpnp - 软件调试环境搭建

文章目录openpnp - 软件调试环境搭建概述笔记openpnp官方站点将openpnp工程克隆到本地将openpnp的wiki工程克隆到本地查看openpnp开发指南根据openpnp开发指南搭建openpnp开发环境IDE的选择IntelliJ IDEA学习版的安装引入openpnp工程在IDEA中, 运行openpnp主程序配置IntelliJ I…

工业手持终端并非“单兵作战”,5G智能模组时刻在线赋能

随着智能终端技术的不断演进&#xff0c;稳定性、实时性和续航能力强的工业手持终端为移动通信、消费电子、工业信息采集等领域提供便捷、高效的数据采集、存储、传输等功能服务。在智慧物流、智慧零售、智能制造、智慧医疗等领域&#xff0c;工业手持终端仍表现出需求激增、功…

Neuron 2.3.0 发布:更轻松地接入和管理海量工业设备

Neuron 2.3.0 版本现已正式发布&#xff01; 除了新增数据统计、模糊搜索、页面下载日志等功能提升产品易用性外&#xff0c;Neuron 2.3.0 版本还新增了 CIP Ethernet/IP、Mitsubishi Melsec 1E frame E71 和 Fanuc Focas 三个协议驱动&#xff0c;以更强大的能力帮助工业用户…

chatgpt使用教程

** 使用门槛&#xff1a;需要自行准备能开全局代理的科学上网工具 好评赠送免费科学上网工具&#xff0c;也可以自己准备科学工具。 ** 下单以后&#xff0c;我们会发送一串账号密码给您。如图&#xff1a; 其中卡号就是chatgpt的账号&#xff0c;密码就是chatgpt密码。 第…

数据结构---优先队列

优先队列实现方式入队出队JAVA实现总结二叉堆是实现优先队列的基础&#xff0c;上一篇二叉堆博文&#xff1a; 二叉堆队列的特点是先进先出&#xff08;FIFO&#xff09;。 优先队列不再遵循先入先出的原则&#xff0c;而是分为两种情况。 最大优先队列&#xff0c;无论入队顺…

Ansible 服务器主机配置

使用 ansible 来对远程主机进行部署的话。我们需要首先对远程主机进行配置。 配置文件路径 配置文件位于&#xff1a;/etc/ansible/hosts 路径下面。 可以使用 vi 工具进行打开。 配置示例 下面是一个简单的配置示例。 [db]127.0.0.1[app]127.0.0.1 ansible_connections…

关于Playwright Xpath找不到元素问题解决方案

今日像往常进行xpath定位元素 发现代码里定位不出来 所以我就手动修改定位xpath 最后怎么修改都获取不到 返回None 那我就向上找 找到他的外祖母 最后进行inner_html() 发现元素是存在的 没有任何问题 这里我就又更加怀疑自己定位出错 折腾了半天发现定位不出来 于是我放弃了…

目标检测算法——车辆牌照识别数据集汇总 2(附下载链接)

&#x1f384;&#x1f384;近期&#xff0c;小海带在空闲之余收集整理了一批车辆牌照识别数据集供大家参考。 整理不易&#xff0c;小伙伴们记得一键三连喔&#xff01;&#xff01;&#xff01;&#x1f388;&#x1f388; 目录 一、伊朗车牌数据集 &#x1f384;&#x1f3…

【目标跟踪】光流法运动视频跟踪【含Matlab源码 1357期】

⛄一、光流场简介 1 案例背景 运动视觉研究的内容是如何从变化场景中的一系列不同时刻的图像中提取有关场景中物体的形状、位置和运动的信息。根据研究的方法&#xff0c;它可以分为两类&#xff1a;基于特征的方法和基于光流场的方法。基于特征的方法抽取特征点&#xff0c;是…

傻白探索Chiplet,Chiplet面临的挑战之互连和封装(四)

目录 一、互连技术 二、封装技术 &#xff08;1&#xff09;英特尔 &#xff08;2&#xff09;台积电 三、生产流程 四、软件技术 实施Chiplet技术面临的主要挑战包括&#xff1a; 互连技术。Chiplet技术需要开发新型互连技术&#xff0c;以便将小芯片组合在一起。目前&a…

51单片机模块化编程

模块化 传统方式编程&#xff1a;所有的函数均放在 main.c 里&#xff0c;若使用的模块比较多&#xff0c;则一个文件内会有很多的代码&#xff0c;不利于代码的组织和管理&#xff0c;而且很影响编程者的思路。 模块化编程&#xff1a;把各个模块的代码放在不同的 .c 文件里…

FL Studio21新版终于有内置的强大混响插件了

FL Studio 21新版终于有内置的强大混响插件了FL Studio 21新版不光如此&#xff0c;还增加很多官方主题&#xff0c;并内置了多款可选&#xff0c;满足大家对个性化的需求&#xff01; 而且每一个人都能快速地创建属于自己的主题&#xff0c;彰显你的与众不同&#xff01; 一分…