我安装了 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 默认/基本版本?
当您在 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
设置 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。
yum --enablerepo=remi-php74 install php
yum --enablerepo=remi-php73 install php
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 模块。
yum --enablerepo=remi-php74 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt
yum --enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt
yum --enablerepo=remi-php72 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt
更改 centos 上的 default php 版本是问题所在。将
path
或 alias
放在 .bashrc
或 .bash_profile
文件中会为特定用户设置 php 版本,而不是默认使用的版本。
因此,就我而言,这些步骤中提供了解决方案(使用 CentOs 和 Plesk):
which php
/usr/bin/
当您执行
ls -la
操作时,您会在该目录中找到旧的 php
文件夹。
mv php php-backup
- 创建备份
ln -s /opt/plesk/php/8.2/bin/php php
- 创建指向所需 php 版本的新符号链接。
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 的默认值。
#!/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
sudo yum --enablerepo=remi-php82 install -y php
php -v
sudo yum --enablerepo=remi-php82 install -y php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt