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

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

好啦,欢迎留言

                       

点击阅读全文

上一篇 2023年 6月 5日 am10:42
下一篇 2023年 6月 5日 am10:45