如何更改 shell 上的默认 PHP 基本版本?

问题描述 投票:0回答:4

我安装了 Centos 7 和 Virtualmin,以及最典型的 php-fpm 5.4、7.0、7.1,您可以通过 Virtualmin 控制面板在每个虚拟主机上选择您喜欢的版本,一切运行良好。

但是当我通过 SSH 访问服务器并检查

php -v
我得到这个:

PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

如何为 shell 系统选择另一个 php 默认/基本版本?

php centos7 php-7 webmin virtualmin
4个回答
3
投票

当您在 shell 上发出 php 命令时,它会使用服务器上的默认 php 版本,在您的情况下为 php-5.4.16

要使用其他 php 版本,您必须检查这些 php 版本的二进制文件所在位置,并使用其完整路径调用它们,而不仅仅是键入 php。

例如,在 CentOS 上,对于 PHP 7.2 来说,php 二进制文件的完整路径是:

/opt/rh/rh-php72/root/usr/bin/php

root@virtualmin /root
» /opt/rh/rh-php72/root/usr/bin/php -v
PHP 7.2.24 (cli) (built: Nov  4 2019 10:23:08) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.24, Copyright (c) 1999-2018, by Zend Technologies

3
投票

在 centos 7 中安装 PHP 版本


设置 Yum 存储库 首先,您需要在系统上启用 Remi 和 EPEL yum 存储库。使用以下命令在 CentOS 和 Red Hat 7/6 系统上安装 EPEL 存储库

使用此命令在您的系统上安装 EPEL yum 存储库

 sudo yum install epel-release

现在根据您的操作系统版本执行以下命令之一来安装 Remi 存储库。

sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

在 CentOS 上安装 PHP 7 您的系统已准备好从 yum 存储库安装 PHP。根据您的要求,使用以下命令之一在您的系统上安装 PHP 7.4 或 PHP 7.3 或 PHP 7.2 或 PHP 7.1。

安装 PHP 7.4

yum --enablerepo=remi-php74 install php

安装 PHP 7.3

yum --enablerepo=remi-php73 install php

安装 PHP 7.2

yum --enablerepo=remi-php72 install php

检查 PHP 安装版本

php -v

.

PHP 7.4.1 (cli) (built: Dec 17 2019 16:35:58) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

安装 PHP 模块 您可能还需要根据您的应用程序要求安装其他 PHP 模块。下面的命令将安装一些更有用的 PHP 模块。

对于 PHP 7.4

yum --enablerepo=remi-php74 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt

对于 PHP 7.3

yum --enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt

对于 PHP 7.2

yum --enablerepo=remi-php72 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt

0
投票

更改 centos 上的 default php 版本是问题所在。将

path
alias
放在
.bashrc
.bash_profile
文件中会为特定用户设置 php 版本,而不是默认使用的版本。

因此,就我而言,这些步骤中提供了解决方案(使用 CentOs 和 Plesk):

  1. which php

/usr/bin/

当您执行

ls -la
操作时,您会在该目录中找到旧的
php
文件夹。

  1. mv php php-backup
    - 创建备份

  2. ln -s /opt/plesk/php/8.2/bin/php php
    - 创建指向所需 php 版本的新符号链接。

  3. php -v

PHP 8.2.10 (cli) (built: Sep  4 2023 11:40:59) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.10, Copyright (c) Zend Technologies with Zend OPcache v8.2.10, Copyright (c), by Zend Technologies

瞧瞧。系统默认的php已经设置好了。 (当未被配置文件覆盖时)

顺便说一句,由于从主管脚本运行 php 命令,我需要设置系统 php 的默认值。


-1
投票

更新

#!/bin/bash

# Set up Yum Repository

# Install EPEL repository
sudo yum install -y epel-release

# Enable Remi repository
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

安装 PHP 8.2

sudo yum --enablerepo=remi-php82 install -y php

检查 PHP 版本

php -v

安装 PHP 模块(根据您的要求进行调整)

sudo yum --enablerepo=remi-php82 install -y php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt
© www.soinside.com 2019 - 2024. All rights reserved.