PHP installation appears to be missing MySQL extension

Your PHP installation appears missing MySQL extension which is required by WordPress

Last Updated: September 18, 2026By Tags: ,

Why “Your PHP installation appears to be missing the MySQL extension” happens

WordPress needs a PHP driver to talk to MySQL or MariaDB — either the mysqli or pdo_mysql extension. PHP removed the old mysql extension entirely as of PHP 7.0, so if a host runs an older configuration, uses a custom PHP build, or a server migration/PHP version bump quietly drops the extension, WordPress throws this error and refuses to connect to the database.

Step 1: Confirm which PHP is actually serving your site

Running php -v at a terminal can be misleading here: command-line PHP and the PHP-FPM/Apache module that actually serves your website often load different php.ini files, with different extensions enabled in each. To check what your website’s PHP actually has loaded:

  • If you have SSH/WP-CLI access, run php -m | grep -i mysql on the server (not your local machine) — you’re looking for mysqli and/or pdo_mysql in the output.
  • Without shell access, create a temporary file named phpinfo.php in your site’s root containing <?php phpinfo();, load it in a browser, search the page for “mysqli” and “pdo_mysql”, then delete the file immediately after checking — leaving it live exposes server configuration details.

Step 2: Enable the extension for your hosting type

  • cPanel (Hostinger and most shared hosts): go to Software → Select PHP Version (sometimes labeled MultiPHP Manager), check the boxes for mysqli and mysqlnd, save, then hard-refresh your site.
  • Plesk: go to Tools & Settings → PHP Settings, select your PHP version, and toggle mysqli/mysqlnd on.
  • Managed WordPress hosting (WP Engine, Kinsta, and similar): you can’t edit php.ini yourself on these platforms — open a support ticket and ask them to confirm mysqli/pdo_mysql are enabled for your active PHP version.
  • Self-managed VPS: install the package matching your PHP version, then restart the service actually serving PHP:
sudo apt install php8.3-mysql
sudo systemctl restart php8.3-fpm
# or, if you're on Apache without PHP-FPM:
sudo systemctl restart apache2

Per WordPress.org’s official requirements page, the current recommendation is PHP 8.3 or greater, with MariaDB 10.11+ or MySQL 8.0+. Older PHP 7.4+/MySQL 5.5.5+ configurations still technically run WordPress, but those versions are past end-of-life and represent a real security risk, not just a compatibility footnote.

WooCommerce’s server requirements follow the same PHP 8.3+ baseline, and additionally ask for a PHP memory limit of at least 256MB.

If you’re running WooCommerce

This error takes down checkout and the admin order screens along with everything else on the site — it isn’t cosmetic. It’s worth explicitly checking mysqli/pdo_mysql as part of any PHP version change on a store, not only after core WordPress updates, since a host-side PHP bump can silently change which extensions are bundled.

Related guides: Create a Custom Post Type in WordPress Without a Plugin · How to Duplicate Pages in WordPress by Plugin

editor's pick

WordPress missing MySQL extension

news via inbox

Leave A Comment