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

编译安装        

        安装多个版本的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

好啦,欢迎留言

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值