WebGee Docsالتوثيق
WordPress

Fix "missing the MySQL extension" in WordPress

Enable the nd_mysqli PHP extension so WordPress can reach its database, and resolve the utf8mb4 client library warning in Site Health.

Fix either of these WordPress errors. Applies to shared, reseller and Premium hosting.

Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

Or, in Tools → Site Health:

utf8mb4 requires a newer client library

Both mean the same thing: PHP cannot talk to MySQL properly because the right extension is not enabled.

Enable the extensions

  1. In cPanel, open Select PHP Version.

    The Select PHP Version tool in cPanel

  2. Select the Extensions tab.

    The Extensions tab showing MySQL extensions

  3. Enable nd_mysqli.

  4. Enable nd_pdo_mysql as well.

mysqli and nd_mysqli cannot both be on — nor can pdo_mysql and nd_pdo_mysql. If the nd_ version will not tick, untick the plain one first, then enable it. Trying to enable both is why this often looks like it did not work.

The nd_ variants are the mysqlnd-based drivers. They are what support utf8mb4, which is why the Site Health warning clears once they are on.

Check it worked

Reload your site — the error should be gone. Then open Tools → Site Health → Info → Database and confirm the extension shows as mysqli with a recent client version.

If the error persists

  • The change was made on the wrong PHP version. If your site runs a different version from the account default, select that version first, then set its extensions.
  • A cached page is being served. Hard-refresh, or clear your caching plugin.
  • The credentials in wp-config.php are wrong. That produces a similar failure — see Move a local WordPress site to your hosting.

On this page