我在运行 RHEL 6 的服务器上安装了新版本 (7.1) 的 PHP。我可以验证安装,并且通过 Web 服务器,我看到要使用的版本是 7.1。然而,在命令行上,我得到了
php -v
PHP 5.6.8 (cli) (built: Apr 17 2015 15:13:59)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
rpm -qa 仅显示版本 7.1:
rpm -qa | grep php
php71w-cli-7.1.32-1.w6.x86_64
php71w-mbstring-7.1.32-1.w6.x86_64
php71w-pdo-7.1.32-1.w6.x86_64
mod_php71w-7.1.32-1.w6.x86_64
php71w-common-7.1.32-1.w6.x86_64
php71w-mysql-7.1.32-1.w6.x86_64
知道这个对 5.6.8 的引用从何而来以及这是否是一个潜在的问题吗?
答案1
我怀疑您的 PHP 链接到了未正确删除的旧二进制文件,或者您的路径仍然指向旧的二进制文件目录。
情况1
1-执行以下命令并检查 php 链接到的符号链接:
ls -ltr "$(sudo which php)"
因此你会发现所使用的是哪个版本。
2-检查您的路径并使用新的 php bin 目录更新它:
echo $PATH
sudo export PATH=$PATH:<php_bin_dir>
3——重建RPM数据库:
sudo rpm -vv --rebuilddb
4-检查旧包是否仍然存在:
sudo rpm -qa | grep php
sudo yum list installed | grep php
案例 2
1-您是否删除了旧的 PHP 包,如果没有,请删除它们并发布新的安装,我建议您使用 epel 和 remi 存储库(禁用所有现有的存储库):
sudo yum remove php*
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php71
sudo yum update
sudo yum install php
2- 您是否拥有有效的 RHEL 订阅?如果是,那么您可以在订阅管理器然后启用软件集合 ** 存储库用于安装 rh-php71 并使用 **SCL以启用目标版本。
3- 如果这些都不能帮助你,那么使用 备择方案并将 php71 设置为默认值然后切换到它。
还分享上述命令的输出。