在 CentOS 7 中设置 Php 的默认版本

Set default version of Php in CentOS 7

我在 opt/remi 文件夹 php56php72 中有两个版本的 PHP 但是当我在 cmd 上 php -v 时它显示:

Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans

如何将默认版本设置为PHP 7.2?

I have two versions of PHP in opt/remi folder php56 and php72

how to set default version to PHP 7.2

SCL 专为并行安装而设计,因此不要更改基本系统中的默认版本

启用合集后,将使用该版本

$ scl enable php72 bash
$ php -v
PHP 7.2.8 (cli) (built: Jul 17 2018 05:35:43) ( NTS )

如果您希望 7.2 成为默认版本(基本系统),您应该安装它,根据 Wizard instructions for "Default / single version"(并保留5.6 作为次要版本)

创建文件“/etc/profile.d/php.sh”。使用 pathmunge 将路径添加到您想要的 php 垃圾箱作为第一行的默认路径并保存文件。

示例:

pathmunge /opt/remi/php73/root/bin

之后重新登录以重新加载您的个人资料。

现在,如果您执行 which php 和 php -v,您应该会在我的案例中看到以下输出

[root@host etc]# which php
/opt/remi/php73/root/bin/php
[root@host etc]# php -v
PHP 7.3.4 (cli) (built: Apr  2 2019 13:48:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
   with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com  (unconfigured) v10.3.4, Copyright (c) 2002-2019, by ionCube Ltd.

这是使用已在最小安装中提供的工具完成此任务的首选方法。这也允许脚本和命令在完成其他任务时命中正确的 php 二进制文件。像 pear、pecl、phar、php-config 这样的命令。在设置默认值时,您希望您的体验是全局的,否则在尝试安装扩展或完成另一项任务时,您可能最终仍会获得 5.6 版的工具。

在 Centos 7 中更改 php cli 版本

首先,找到你的 php7、运行 phpinfo() 并得到 path 或者你可以用其他方法。对我来说,它是:

/usr/local/lsws/lsphp73/

然后:

cd ~
. ~/.bash_profile

并且:

alias php='/usr/local/lsws/lsphp73/bin/php'

现在:

php -v

PHP 7.3.13 (cli) (built: Dec 20 2019 16:02:35) ( NTS )

module enable php74

供您理解:

cat /opt/remi/php74/enable
export PATH=/opt/remi/php74/root/usr/bin:/opt/remi/php74/root/usr/sbin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/opt/remi/php74/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MANPATH=/opt/remi/php74/root/usr/share/man:${MANPATH}