How to Fix Joomla Installation PHP Extension or Module Errors
A Joomla installer message about a missing PHP extension or module means the web-facing PHP runtime does not expose functionality Joomla needs. The fix is to enable the specific module in the PHP configuration used by the Joomla site and verify that it is loaded there—not merely installed somewhere on the server.
Know which modules Joomla 6 requires
Current Joomla 6.x technical requirements list json, simplexml, dom, zlib, and gd, plus a supported database driver such as mysqlnd, pdo_mysql, or pdo_pgsql. mbstring is recommended. If the installer names one of these, fix that module first and reload the check.
1. Verify the module in the web PHP runtime
Do not rely only on php -m from SSH because that checks command-line PHP. Use your hosting PHP information screen or a temporary phpinfo() page if permitted to see what the website loads. Remove public diagnostic pages immediately after testing because they disclose server configuration details.
2. Enable the module using the hosting provider's supported method
On shared hosting, use the PHP Extensions/Selector interface for the domain. On a self-managed server, install the package that matches the active PHP version and enable it in the correct php.ini or conf.d configuration. Package names differ by operating system and repository, so use the distribution's documentation rather than copying a command written for another platform.
3. Restart or reload the correct PHP service
PHP-FPM and web-server configurations may not pick up a newly installed module until the relevant service reloads or restarts. Make sure you restart the pool/version serving this site. If you do not administer the server, ask the host to enable the named extension for the domain and confirm it in the web runtime.
4. Handle database-driver errors separately
If Joomla cannot find a database driver, match the PHP driver to your database. MySQL/MariaDB installations need an appropriate MySQL driver; PostgreSQL needs the supported PostgreSQL PDO driver. A generic “database server is running” check does not prove PHP can connect to it.
5. Watch for version mismatches after a PHP upgrade
A common failure occurs when the domain is switched to a newer PHP version but its extensions were enabled only for the old version. Recheck the module list after every PHP-version change. On self-managed servers, ensure the extension package was built for the active PHP branch and that stale configuration is not pointing to an incompatible module binary.
6. Distinguish required from optional functionality
Do not treat every optional web-server feature as a Joomla installation blocker. For example, Joomla's current requirements describe Apache mod_rewrite or the IIS URL Rewrite module as optional features used for SEO URLs. Fix the exact requirement the installer reports rather than enabling unrelated modules.
7. Verify after the change
- Reload the PHP information/module list for the Joomla domain.
- Confirm the named module appears and is enabled.
- Confirm the PHP version is still the intended supported version.
- Reload Joomla's installer requirement screen.
- If it still fails, check which configuration file and PHP-FPM pool the web request is actually using.
If a module is present in CLI PHP but absent in the installer, that is strong evidence of separate CLI and web PHP configurations. Correct the web runtime rather than modifying Joomla.
Need More Help with Joomla?
Still having trouble? Open a support ticket with QuantaCade Support and we'll be happy to help where we can.
Support priority is given to QuantaCade products, services, and customers. However, we're also happy to assist fellow Joomla users with general Joomla questions and troubleshooting when possible.
QuantaCade is an independent Joomla extension developer and is not official Joomla support. Some issues involving third-party extensions, hosting environments, server configurations, or other systems outside our development control may be beyond what we're able to resolve.