Your PHP installation appears missing MySQL extension which is required by WordPress
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 mysqlon the server (not your local machine) — you’re looking formysqliand/orpdo_mysqlin the output. - Without shell access, create a temporary file named
phpinfo.phpin 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
mysqliandmysqlnd, save, then hard-refresh your site. - Plesk: go to Tools & Settings → PHP Settings, select your PHP version, and toggle
mysqli/mysqlndon. - Managed WordPress hosting (WP Engine, Kinsta, and similar): you can’t edit
php.iniyourself on these platforms — open a support ticket and ask them to confirmmysqli/pdo_mysqlare 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
Step 3: What versions to actually run
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


