Linux PHP多版本编译安装及快捷切换版本

2023-05-16

编译安装        

        安装多个版本的PHP其实毫无压力,主要是编译安装的时候--prefix和--with-config-file-path设置为不同的目录即可。

        分享我编译安装的命令:

./configure --prefix=/usr/local/php/ --enable-debug --enable-gd --with-freetype --with-jpeg --with-webp  --enable-fpm --with-config-file-path=/usr/local/php/etc/ --with-iconv  --enable-mbregex --with-openssl --enable-pcntl --with-curl  --with-pdo-mysql --enable-mbstring --with-mysql-sock=/var/lib/mysql/mysql.sock --with-zlib

        这是开了debug的版本,但是开发的同学一般都不需要,直接去掉 --enable-debug即可。

        编译安装完成后,记得初始化php.ini,将php.ini-production文件重命名为php.ini并放在--with-config-file-path定义的目录中即可。

        但是此时,还不能使用PHP命令,因此需要将PHP的运行目录写入到.bashrc中,即

sudo vim ~/.bashrc
在文件的末尾加上
export PATH=/usr/local/php/bin:$PATH
export PATH=/usr/local/php/sbin:$PATH
重新载入
source ~/.bashrc

        此时使用php --ini命令即可查看到php.ini文件的位置

[moxi@localhost ~]$ php --ini
Configuration File (php.ini) Path: /usr/local/php80/etc/
Loaded Configuration File:         /usr/local/php80/etc/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

 快捷切换

        安装了多个版本的PHP以后,每次都要通过编辑./bashrc来切换版本未免太过繁琐,有没有更便捷的方式呢?

方法1

        通过更新软链的方式切换PHP版本

sudo ln -sf /usr/local/php80/bin/php /usr/bin/php

/usr/local/php/bin/php是你的PHP安装目录,即--prefix定义的目录+/bin/php

        但是这种方法,还是不快捷!

        我们可以通过给命令取别名的方式,简化运行命令的成本

sudo vim ~/.bashrc

// 将下面的命令添加到文件末尾

alias php80='sudo ln -sf /usr/local/php80/bin/php /usr/bin/php'

// 保存并退出

// 重新载入

. ~/.bashrc

方法2

       增加一个配置文件,将配置环境变量的命令放入其中,需要切换版本的时候载入对应的配置文件即可

vim ~/php80 (以.开头的文件会被隐藏,这个配置文件不重要,所以没必要隐藏)

// 将下列命令写入

export PATH=/usr/local/php80/bin:$PATH
export PATH=/usr/local/php80/sbin:$PATH

// 保存并退出

        重新载入的命令还是太长了,我们再给这个命令起个别名

// 将下面的命令添加到~/.bashrc中并重新载入即可

alias php80='. ~/php80'

效果

[moxi@localhost ~]$ php80
[moxi@localhost ~]$ php -v
PHP 8.0.21 (cli) (built: Aug 15 2022 19:33:34) ( NTS DEBUG )
Copyright (c) The PHP Group
Zend Engine v4.0.21, Copyright (c) Zend Technologies
[moxi@localhost ~]$ php81
[moxi@localhost ~]$ php -v
PHP 8.1.6 (cli) (built: Jul 31 2022 03:26:52) (NTS DEBUG)
Copyright (c) The PHP Group
Zend Engine v4.1.6, Copyright (c) Zend Technologies

好啦,欢迎留言

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux PHP多版本编译安装及快捷切换版本 的相关文章

  • 将标签文件转换为不同的数字

    将标签文件转换为不同的数字 说明 通过网上下载的数据 xff0c 可能是单标签的 xff0c 所以都是0 如果有三个类 xff0c 则需要转换成0 1 2 下面代码可以将labels 的所有数据转成你想要的label import os o
  • linux中安装vnc软件以及下载安装

    linux中安装时安装vnc软件 linux安装vnc配置软件 安装vnc软件 yum span class token function install span y tigervnc server xterm xclock span c
  • Mac配置中文 man 手册

    文章目录 查看自己的电脑的 man 信息中文手册地址构建依赖环境安装获取中文手册可以查看中文文档是否已经加载添加手册路径 将别名添加进 zsh xff08 可要可不要 xff09 解决乱码完结 查看自己的电脑的 man 信息 查看已经加载的
  • 生产者/消费者问题的多种Java实现方式

    生产者 消费者问题的多种 Java 实现方式 实质上 xff0c 很多后台服务程序并发控制的基本原理都可以归纳为生产者 消费者模式 xff0c 而这是恰恰是在本科操作系统课堂上老师反复讲解 xff0c 而我们却视而不见不以为然的 在博文 一
  • pandas读取表格时候header的用法

    1 header 61 0 读取一个music的dataframe 不设置header xff0c 则pandas会默认header 61 0 也就是数据表的第一行为表头 span class token keyword import sp
  • win10系统补丁彻底终止更新的方法

    我们经常在电脑上安装应用软件 xff0c 难免会遇到诸如win10系统无法更新正在暂停 xff0c 将暂停更新直到2018 1 2 为止的状况 xff0c 尤其是姑娘们遇到win10系统无法更新正在暂停 xff0c 将暂停更新直到2018
  • android -- 蓝牙 bluetooth (三)搜索蓝牙

    接上篇打开蓝牙继续 xff0c 来一起看下蓝牙搜索的流程 xff0c 触发蓝牙搜索的条件形式上有两种 xff0c 一是在蓝牙设置界面开启蓝牙会直接开始搜索 xff0c 另一个是先打开蓝牙开关在进入蓝牙设置界面也会触发搜索 xff0c 也可能
  • AD域控管理之授权普通用户或组管理计算机加入域和退出域的权限

    通过委派任务来实现 xff0c 具体如下 xff1a 1 在域控上打开Active Directory 用户和计算机 xff0c 右击域名 注意 将计算机加入域 只能在域上委派 xff0c 不能在OU上 xff0c 选择 委派控制 2 下一
  • IBM serverx服务器RAID阵列磁盘配置JBOD模式(直通模式)

    关于直通模式现在应用较多的是vmware的vsan分布式存储 现在通过IBM serverx 3850X6服务器演示如何配置JBOD模式磁盘 配置JBOD模式的前提是服务器不能安装有带缓存的raid卡 xff0c 其实也就是不能做raid5
  • 关于IBM 3550 3650 3850 在BIOS设置legacy模式

    1 在Boot Manager中 xff0c 选择add Boot Option xff0c 选择legacy only 2 在Go to Boot Manager gt Change Boot Order中 xff0c 把legacy o
  • IBM storwize V5000存储基础配置

    初始帐号密码 Superuser passw0rd 设备和系统的基本状态 首先添加配置主机 xff0c 前提是已经连接好光纤线 xff0c 配置好光纤交换机 这里我们使用光纤通道 系统应该可以自动识别到端口 xff0c 主机名可以设置为主机
  • 关于 Virtual SAN/VSAN 的常见问题解答

    问 xff1a VSAN 需要使用 SSD xff0c 它有什么用途呢 xff1f 答 xff1a SSD 用于读取缓存 70 和写入缓冲 30 每次写入都会先转到 SSD xff0c 稍后再取消暂存到 HDD 问 xff1a 创建 VSA
  • Linux 安装 VNC Server 实现图形化访问配置说明

    CentOS 6 5 系统环境下 xff0c 可以参阅如下步骤进行 VNC Server 的安装配置 安装 使用如下指令安装 VNC Server xff1a span class pln style margin 0px padding
  • JBoss AS / JBoss EAP / wildfly 区别

    JBoss AS JBoss EAP 和wildfly JBoss是一个基于JavaEE的开源的应用服务器 xff0c 遵循LGPL许可 xff0c 意味着可以在任何商业应用中免费使用 2006年 xff0c JBoss被Redhat公司收
  • 阿里云linux yum源配置

    http mirrors aliyun com help centos spm 61 5176 bbsr150321 0 0 d6ykiD 1 备份 mv etc yum repos d CentOS Base repo etc yum r
  • VMware vSphere 6 序列号大全

    经过测试ESXI6 5也可以使用 vSphere 6 Hypervisor HY0XH D508H 081U8 JA2GH CCUM24C4WK 8KH8L H85J0 UHCNK 8CKQ8NV09R 2W007 08D38 CA956
  • Ubuntu下安装Chrome浏览器的方法

    通过直接下载安装Google Chrome浏览器deb包 打开Ubuntu终端 xff0c 以下为32位 版本 xff0c 使用下面的命令 wget https dl google com linux direct google chrom
  • android -- 蓝牙 bluetooth (四)OPP文件传输

    在前面android 蓝牙 bluetooth xff08 一 xff09 入门文章结尾中提到了会按四个方面来写这系列的文章 xff0c 前面已写了蓝牙打开和蓝牙搜索 xff0c 这次一起来看下蓝牙文件分享的流程 xff0c 也就是蓝牙应用
  • 智能制造:三体智能革命

    赵敏 宁振波 郭朝晖是走向智能研究院资深专家 xff0c 三体智能革命 编委会中三位重要作者 他们从去年5月起多次参加了中国工程院主持的 中国智能制造发展战略研究报告 的研讨 评审与修订工作 xff0c 对该报告的形成过程 研究主旨和详细内
  • 程序员读书和练习的方法(个人观点)

    lt 传送门 gt 针对本文的交流探讨 gt 总宗旨 xff1a 打好计算机通用理论基础 通用实战能力 xff0c 便于需要时对各领域的无障碍深钻 时间宝贵 xff0c 不要为了学习而学习 计算机通用理论基础 xff1a 计算机各领域理论基

随机推荐