Extensions add capabilities to PHP: talking to MySQL (mysqli, pdo_mysql), handling images (gd, imagick), international text (intl, mbstring), zip files (zip), secure connections (openssl) and more.
Checking what’s loaded
phpinfo: create a phpinfo file (How to check which PHP version your site is using) and scroll: each loaded extension has its own section.
A quick list:
<?php print_r(get_loaded_extensions());
Checking one extension:
<?php var_dump(extension_loaded('intl'));
bool(true) means it’s available. Delete test files afterwards.
Extensions differ by PHP version
Each PHP version has its own set. If an application reports a missing extension, check the version the domain uses — switching versions can change what’s loaded.
When an extension is missing
- Check whether the application actually needs it or merely recommends it. Site Health warnings in WordPress are often recommendations.
- Try another available PHP version and check again.
- If it’s genuinely required and unavailable, ask the help desk whether it can be provided, giving the extension name, PHP version and application.
Extensions can’t be installed from inside your account on shared hosting.
Choosing a host for a PHP project? Every Traxio account runs PHP 7.4 to 8.3 with a MySQL database: see PHP and MySQL hosting, free for the first 30 days, then £0.99 a month.