介绍
WordPress 是一个稳定的平台。但最常见的错误之一是“Your PHP installation appears to be missing the MySQL extension which is required by WordPress.” 当你站点的 PHP 代码与站点运行的 PHP 版本不兼容时,就会发生这种情况。
在本指南中,我们将解决和修复错误PHP installation missing the MySQL extension。
先决条件
- 访问托管 WordPress 安装的服务器(本地或 SSH)
- 具有sudo权限的用户帐户
- 访问命令行/终端窗口(可选)
- 包管理器(如yum或apt)
更新 WordPress
有几个问题可能会导致 WordPress 错误缺少 mysql 扩展。你可以通过在 WordPress 管理员中运行更新来解决其中的许多问题。
要更新 WordPress:
- 登录你网站的wp-admin页面,例如https://examplesite.com/wp-admin/
- 单击左上角的更新链接。该页面显示可用更新。
- 单击立即更新按钮。
如果你的安装是最新的,WordPress 会提供重新安装当前版本的选项。
WordPress 旨在在更新前禁用插件。你也可以先手动禁用任何插件。在更新任何插件之前,请确保始终更新 WordPress 安装。
检查服务器上的 PHP 版本
在本地或通过 SSH 登录托管你的 WordPress 站点的服务器。使用以下命令检查PHP版本:
php –v
系统显示安装的PHP软件版本如下图。
你还可以浏览存储 WordPress 内容的/public_html目录。创建一个名为info.php的新文件,然后在编辑器中打开它。
在文件中输入以下行:
<?php phpinfo(); ?>
保存文件并退出。现在你可以在 Web 浏览器中加载该文件,该页面将显示一个包含所有详细信息的长列表。
检查 PHP MySQL 扩展是否安装
查看我们在上一节中创建的info.php文件。在MySQL Support 下,找到Client API version单元格检查 PHP 版本。
提示:使用 Ctrl+F 并键入MySQL Support
来查找此部分,而不是滚动文件。
如果客户端 API 版本字段为空,则你可能缺少 PHP 的 MySQL 扩展。输入以下命令来安装它们:
Ubuntu:
sudo apt-get update
sudo apt-get install php5-mysqlnd
Red Hat/CentOS:
sudo yum update
sudo yum install php-mysql
重新启动服务器以应用更改。
注意:如果你运行的是 PHP7.x,请相应地替换命令。
检查 PHP 扩展配置
修复错误PHP installation missing the MySQL extension:如果你运行了任何更新或迁移了你的网站,则WordPress 查找 PHP 数据的extension_dir中的 PHP 配置可能不匹配。在你的 PHP 信息网页上,找到包含php.ini文件路径的Loaded Configuration File条目。该行可能如下所示:
/opt/imh/imh-php56/root/usr/lib/php/php.ini
这是你的服务器存储 PHP 配置的位置。
接下来,在浏览器中加载的 info.php 文件中找到extension_dir条目。该行应该被注释或包含 PHP 扩展的有效路径:
/opt/php56/lib/php/extensions/no-debug-non-zts-20131226
如果为空,请编辑php.ini文件:
sudo nano /opt/imh/imh-php56/root/usr/lib/php/php.ini
向下滚动到extension_dir设置,然后更新它以匹配你的实际扩展目录,或者将其注释掉。完成后,保存并退出,然后重新启动Web 服务器。
提示:要将一行标记为注释,请以分号开头;
MySQL.so 或 MySQL.dll 的文件名或路径错误
修复错误PHP installation missing the MySQL extension:如果你使用的是自定义的php.ini文件,则在你迁移或升级安装时它不会总是得到更新。在这种情况下,你需要编辑php.ini文件。使用编码文本编辑器并添加文件路径,例如:
sudo nano /opt/imh/imh-php56/root/usr/lib/php/php.ini
查找并注释以下行:
; extension=mysql.so
; extension_dir=/path/to/extensions/
保存文件并退出,然后重新启动服务器并进行测试。
缺少 php-mysqlnd-ms 软件包 (Ubuntu)
最新版本的 Ubuntu 操作系统使用本机 MySQL 驱动程序而不是旧的 PHP 库。在这种情况下,当缺少php5-mysqlnd-ms包时,可能会出现错误Your PHP installation appears to be missing the MySQL extension which is required by WordPress may appear。
使用以下命令安装软件包:
sudo apt-get install php5-mysqlnd-ms
完成后,重新启动服务器并进行测试。
检查其他 PHP 自定义
如果你已经尝试了所有这些步骤,但仍然出现“Your PHP installation appears to be missing the MySQL extension”错误,你可以查看自定义配置文件。
使用你网站的完整路径打开.htaccess文件:
sudo nano path_to_your_website/public_html/.htaccess
仔细检查并检查所引用的 PHP 版本。它必须与你之前在info.php文件中检查的 PHP 版本相同。
如果在.htaccess 中一切正常,请对php.ini文件执行相同的操作。同样,你正在寻找对与info.php文件显示不同的 PHP 版本的引用。
更改引用的版本或从文件中删除该部分。保存对文件的更改,退出,然后重新启动服务器。
注意:如果你使用自定义的 .htaccess 和 php.ini 文件,请使用这些文件的默认版本测试你的WordPress 安装。你可以重命名它们.htaccess.bak
并php.ini.bak
禁用它们。然后,复制你的备份默认版本或下载新版本。
结论
本教程列出了修复错误“Your PHP installation appears to be missing the MySQL extension.”的几个选项。通常,为 PHP 加载缺少的 MySQL 扩展可以解决该问题。