将 WordPress 的 PHP 版本从 7.2 更新到 8.1 的问题(缺少 MySQL 扩展)

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

我已经在 AWS EC2 上使用 Amazon Linux 2 AMI 为 WordPress 托管设置了一个 LAMP 服务器。系统已经运行良好,但 WordPress 仪表板提示我更新 PHP 版本,因为我运行的是过时的 7.2.34。 WordPress推荐我更新到7.4。我按照本指南开始了这个过程 (https://greggborodaty.com/amazon-linux-2-upgrading-from-php-7-2-to-php-7-4/)

当我使用检查亚马逊可用的版本时

sudo amazon-linux-extras | grep php
唯一可用的较新版本是 8.0 和 8.1。在做了一些研究后,我认为 8.1 是最好的选择(它是一个稳定的版本)。

本来应该是 15 分钟的更新结果是 4 小时的崩溃,我以某种方式安装了 PHP 8.1,但 Apache 服务器仍在使用 7.2,我使用

php -v
检查并访问 test.php 页面通过浏览器。我确保执行所有必要的服务重新启动/重新启动,但我认为 Apache 的配置文件仍然指向 7.2 版本。我把它放下过夜,决定第二天继续。

今天早上 SSH-ing 到我的实例后,php 测试站点上的 PHP 版本是 8.1.15,但是

php -v
命令仍然显示 7.2.

WordPress 不再可访问说:“您的 PHP 安装似乎缺少 WordPress 所需的 MySQL 扩展。” 我的实例上有 6 个可用更新。当我运行

sudo yum update
时,我得到以下输出:

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                                                                                                                                                            | 3.7 kB  00:00:00
281 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package php-cli.x86_64 0:7.2.34-1.amzn2 will be updated
---> Package php-cli.x86_64 0:8.1.12-1.amzn2 will be an update
---> Package php-common.x86_64 0:7.2.34-1.amzn2 will be updated
--> Processing Dependency: php-common(x86-64) = 7.2.34-1.amzn2 for package: php-json-7.2.34-1.amzn2.x86_64
---> Package php-common.x86_64 0:8.1.12-1.amzn2 will be an update
---> Package php-fpm.x86_64 0:7.2.34-1.amzn2 will be updated
---> Package php-fpm.x86_64 0:8.1.12-1.amzn2 will be an update
---> Package php-gd.x86_64 0:7.2.34-1.amzn2 will be updated
---> Package php-gd.x86_64 0:8.1.12-1.amzn2 will be an update
---> Package php-mysqlnd.x86_64 0:7.2.34-1.amzn2 will be updated
---> Package php-mysqlnd.x86_64 0:8.1.12-1.amzn2 will be an update
---> Package php-pdo.x86_64 0:7.2.34-1.amzn2 will be updated
---> Package php-pdo.x86_64 0:8.1.12-1.amzn2 will be an update
--> Finished Dependency Resolution
Error: Package: php-json-7.2.34-1.amzn2.x86_64 (@amzn2extra-php7.2)
           Requires: php-common(x86-64) = 7.2.34-1.amzn2
           Removing: php-common-7.2.34-1.amzn2.x86_64 (@amzn2extra-php7.2)
               php-common(x86-64) = 7.2.34-1.amzn2
           Updated By: php-common-8.1.12-1.amzn2.x86_64 (amzn2extra-php8.1)
               php-common(x86-64) = 8.1.12-1.amzn2
           Available: php-common-5.4.16-43.amzn2.x86_64 (amzn2-core)
               php-common(x86-64) = 5.4.16-43.amzn2
           Available: php-common-5.4.16-43.amzn2.0.1.x86_64 (amzn2-core)
               php-common(x86-64) = 5.4.16-43.amzn2.0.1
           Available: php-common-5.4.16-43.amzn2.0.2.x86_64 (amzn2-core)
               php-common(x86-64) = 5.4.16-43.amzn2.0.2
           Available: php-common-5.4.16-43.amzn2.0.3.x86_64 (amzn2-core)
               php-common(x86-64) = 5.4.16-43.amzn2.0.3
           Available: php-common-5.4.16-43.amzn2.0.4.x86_64 (amzn2-core)
               php-common(x86-64) = 5.4.16-43.amzn2.0.4
           Available: php-common-5.4.16-45.amzn2.0.5.x86_64 (amzn2-core)
               php-common(x86-64) = 5.4.16-45.amzn2.0.5
           Available: php-common-5.4.16-45.amzn2.0.6.x86_64 (amzn2-core)
               php-common(x86-64) = 5.4.16-45.amzn2.0.6
           Available: php-common-5.4.16-46.amzn2.0.2.x86_64 (amzn2-core)
               php-common(x86-64) = 5.4.16-46.amzn2.0.2
           Available: php-common-8.1.11-1.amzn2.x86_64 (amzn2extra-php8.1)
               php-common(x86-64) = 8.1.11-1.amzn2
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

我显然是个新手,可能会遗漏一些明显的东西。非常感谢任何帮助<3

我尝试了

--skip-broken
添加,它跳过了重要的更新并且没有解决问题。

我确保显示在 test.php 站点中的 php.ini 文件已按照本指南正确配置: https://wpbuffs.com/php-installation-missing-mysql-extension-required-by-wordpress/

php wordpress mysql-connector
1个回答
0
投票

尝试手动删除包。

sudo yum remove php-json-7.2.34-1.amzn2.x86_64

© www.soinside.com 2019 - 2024. All rights reserved.