One missing PHP module can stop a plugin before you ever reach its settings page. Before installing, we check the PHP extensions loaded by the same PHP version serving the website. That quick step can prevent failed updates, broken image tools, database errors, and frustrating white screens.

You don’t need to be a server administrator when your host offers active support for unclear requirements. We can check the basics inside WordPress, confirm the exact PHP extensions with phpinfo(), or review them in cPanel to verify PHP compatibility. Let’s start with what matters most.

Key Takeaways

  • Check the PHP version and extensions used by the live website before installing a plugin, rather than relying on the command-line version or account default.
  • Use WordPress Site Health for a broad server check, then confirm exact loaded modules with phpinfo(), cPanel, or the correct command-line PHP binary.
  • Compare the plugin’s required PHP version and extensions with your active runtime, paying close attention to modules such as curl, mbstring, zip, imagick, gd, mysqli, and openssl.
  • If an extension is missing, save the error message, confirm the domain’s PHP handler, and ask your hosting provider or plugin developer for an approved solution.
  • Test important pages and connected services after installation, especially when using image processing, object caching, payment, email, or other integrations.

Why Check PHP Extensions Before Installing a Plugin?

PHP powers WordPress core. PHP extensions are add-on components that give the engine extra abilities, such as connecting to a MySQL database, processing images, reading XML, or making secure connections to other websites.

Plugins depend on the same server environment. If a required component is missing, it can affect PHP compatibility, prevent activation, or break a specific feature.

Plugin requirements live on the server

Plugin documentation may list PHP extensions and requirements such as:

  • PHP 8.2 or newer
  • The mbstring extension for UTF-8 text handling
  • The zip extension for package installation and updates
  • The curl extension for external API requests
  • imagick or gd for image processing

Installing the plugin first and checking later is like buying a printer before checking whether your computer has the right connection. Sometimes it works. Sometimes you’re left troubleshooting a problem that was easy to prevent.

PHP version comes first

The PHP version and its extensions work together, so their combination affects PHP compatibility. Check the PHP version assigned to your domain in your hosting environment.

A plugin tested on PHP 8.3 may behave differently on PHP 8.4, especially if it uses older PHP functions.

WordPress.org’s current requirements page recommends PHP 8.3 or greater for WordPress. Check your current runtime before adding a plugin, then review the developer’s notes for plugin compatibility and known conflicts.

Newer isn’t always better when a plugin hasn’t caught up. Test major PHP changes on a staging site to confirm PHP compatibility, especially before moving to PHP 8.4.

Keep a backup, apply security updates, and update WordPress, themes, and plugins before changing the server version. If requirements remain unclear, ask the plugin developer or host whether the plugin has active support for your environment.

WordPress PHP extensions to check first

The WordPress Hosting Handbook’s server environment guide separates PHP extensions into required, recommended, and cache-related groups. The listed PHP modules are loaded by a particular runtime. Treat this list as a baseline, then check the plugin’s supported environment and stated PHP version requirement for PHP compatibility.

CategoryExtensions to checkMain purpose
Requiredjson, mysqli or mysqlnd, curlData processing, MySQL database connections, database interactions, and remote requests
Recommendeddom, exif, fileinfo, hash, igbinary, imagick, intl, mbstring, openssl, pcre, xml, zipText, images, uploads, updates, security, and external data
Cache-relatedapcu, memcached, OPcache, redisBytecode and object caching, with Redis and Memcached used only when configured

Required extensions don’t mean every checkbox

The database requirement is usually satisfied by mysqli or mysqlnd. These PHP extensions don’t normally need to be installed together just because they appear in different setup guides.

The json extension is bundled with PHP 8.0 and newer, so it may not appear as a separate option in your hosting panel. curl handles remote requests, including connections used by updates, APIs, and some integrations.

If one of these required extensions is missing, stop before installing the plugin. Ask your host to confirm the PHP handler assigned to your domain.

Recommended PHP extensions depend on your plugins

The recommended PHP extensions depend on each plugin’s features and integrations.

Imagick supports advanced image processing and PDF thumbnails. The GD Library (gd) offers basic processing as an alternative. mbstring helps plugins work with international text, while intl supports locale and formatting functions.

Extensions such as simplexml, xmlreader, zlib, iconv, filter, bcmath, ftp, ssh2, and sockets are often feature-specific, while others act as fallback extensions. Match each extension to the plugin or feature that needs it.

Start With WordPress Site Health

WordPress gives you a useful first check with Site Health without leaving the dashboard.

Find the server details

Log in to WordPress and open Tools > Site Health > Info. Expand the Server section to review details such as:

  • The active PHP version
  • The web server
  • PHP memory limits
  • Maximum upload size
  • Maximum post size
  • Maximum input variables

The Database section can also reveal connection details and the database software in use. These checks help you compare your site’s server environment with the plugin’s installation requirements.

Know what Site Health cannot show

Site Health is a good starting point, but it may not display every loaded PHP extensions. This provides a broad PHP compatibility check, not a complete runtime inventory. If the plugin names a particular module, confirm it with phpinfo() or the hosting control panel.

Use this dashboard check to confirm the broad environment first. Then use a more direct method for the exact module list. If the results remain unclear, your host’s active support team can confirm the exact runtime. Two minutes here can save an hour of guessing.

Use phpinfo() to See the Active Web Modules

A phpinfo() page reports the PHP runtime used by the web server. That distinction matters for PHP compatibility because the PHP version in your hosting panel may not match the command-line version on the same account.

Create a temporary check page

Create a temporary PHP file in your website’s document root with <?php phpinfo(); ?> inside it. Name it something difficult to guess, such as server-check.php, then open that file in your browser.

If your hosting panel shows PHP 8.4, confirm that the page reports the same runtime before testing a plugin.

Search the page for Loaded Modules to see the active PHP modules and loaded PHP extensions. You can also search for individual PHP extensions, such as curl, dom, Imagick, mbstring, mysqli, openssl, and zip.

The page shows the PHP version, loaded extensions, configuration values, and active server settings. For official details, see PHP’s phpinfo() documentation. If it conflicts with your hosting panel, contact your host for active support before checking plugin requirements.

Delete the file as soon as you’re finished. A public phpinfo() page exposes configuration details that visitors don’t need to see.

Review Extensions in cPanel

cPanel is often the quickest option when your host gives you PHP version control.

Its interface exposes PHP extensions for the selected domain. The wording varies between hosting providers.

Check the correct domain and runtime

Select the domain where you plan to install the plugin, since it may use a different runtime than the account default. Confirm the plugin’s PHP compatibility and match its extension list to the runtime serving the site. A PHP 8.4 list may not apply to a site using another version.

Review the PHP extensions listed for that domain, including modules such as:

  • curl
  • dom
  • fileinfo
  • imagick (Imagick) or gd (GD Library)
  • intl
  • mbstring
  • mysqli or mysqlnd
  • openssl
  • xml
  • zip

Select only the modules your WordPress installation or plugin needs, then save the changes. Clear any server or WordPress cache before testing again.

If the plugin depends on object caching, also verify the host’s documented Redis or Memcached setup.

cPanel’s PHP extension documentation explains where administrators can locate and install PHP versions or extensions. In a shared hosting environment, you may see the modules but lack permission to change them, so your provider’s active support team may need to enable one.

If you want simple server control without managing a full VPS, our cPanel hosting for WordPress offers a familiar dashboard for website, email, database, and PHP management, plus active support.

Check Extensions From the Command Line

SSH access makes extension checks quick and repeatable. Run:

php -v

This confirms the PHP version used by the command line. Then run:

php -m

This lists loaded PHP modules and shows the PHP extensions available to the command line. To filter common WordPress requirements from those PHP extensions, use:

php -m | grep -Ei 'curl|dom|fileinfo|imagick|intl|mbstring|mysqli|mysqlnd|openssl|xml|zip'

You can also inspect the active configuration files with:

php --ini

Watch for a PHP runtime mismatch

The command-line PHP version may not match the PHP runtime used by Apache, Nginx, or PHP-FPM on the web server. A web server can show mysqli in php -m while the site reports that a MySQL database extension is missing or uses different object caching settings.

That is why we compare command-line results with phpinfo() or the hosting panel for accurate PHP compatibility checks. Always trust the runtime serving the domain, not a different PHP binary on the account.

On some managed servers, versioned commands such as ea-php83 for PHP 8.3 or ea-php84 for PHP 8.4 replace php. Ask your hosting provider’s active support team for the correct versioned command instead of guessing.

Match the Plugin’s Requirements Before Installation

Checking the server’s PHP extensions is only half the job. Read the plugin’s installation requirements, then compare its required extensions with the actual runtime to confirm PHP compatibility.

An image optimization plugin may need Imagick or gd for image processing. A multilingual tool may depend on mbstring and intl. A plugin that connects to a payment, email, shipping, or CRM service may need curl and openssl.

Check the plugin’s PHP support

Look for three details in the plugin documentation:

  1. The minimum PHP version and whether the plugin supports PHP 8.3 or PHP 8.4.
  2. The extensions it requires or recommends, plus notes about PHP compatibility.
  3. Any known conflicts with other plugins, themes, or server settings that could affect plugin compatibility.

Don’t rely only on the WordPress plugin directory description. Visit the developer’s installation guide and changelog when the plugin handles payments, membership accounts, customer data, or important site functions. If the requirements remain unclear, contact the developer through an active support channel or ticket system before installing.

Test performance-related modules correctly

PHP extensions can affect speed, but adding more modules doesn’t automatically make a website faster. OPcache can reduce repeated PHP compilation. Redis and Memcached can support object caching. The image library and GD affect how images are created and resized.

Those tools need correct server and plugin configuration. Configure them deliberately for performance and security. Misconfigured object caching can create stale pages or interfere with carts, forms, and logged-in sessions.

After installing a plugin, test the homepage, contact forms, login page, checkout, media library, and any connected service. Check error logs if something feels wrong. If problems continue, ask your host’s active support team to review the runtime and logs.

What to Do When an Extension Is Missing

Don’t force the installation when a needed module isn’t available. For better error handling, save the exact error message and check the logs. Record the domain and PHP version, then contact your host with a clear request.

Ask your host which PHP extensions are active for the PHP release serving your domain. Your host’s active support team can identify the active handler and explain whether the missing PHP extensions can be enabled. If you need Imagick, intl, or zip, ask whether the module can be enabled. You can also ask whether the plugin has an approved alternative with better PHP compatibility.

VPS owners can usually install server packages, but the package depends on the operating system and PHP installation. Your hosting environment matters, so active support can confirm the package when shared hosting or cPanel limits access. Back up first, make changes during a quiet period, and test performance and security afterward.

If you don’t want to manage PHP modules, updates, backups, and security settings yourself, our managed WordPress hosting handles much of that server work for you. Plans include automatic backups, security updates, SSL, and 24/7 active support.

Frequently Asked Questions

How can I check which PHP extensions WordPress is using?

Start with Tools > Site Health > Info to review your site’s PHP version and server details. For the complete list of active modules, use a temporary phpinfo() page or check the PHP extensions for the correct domain and runtime in cPanel.

Is php -m enough to verify WordPress PHP extensions?

Not always, because php -m usually reports the command-line PHP runtime. Compare its results with phpinfo() or your hosting panel to confirm the extensions loaded by the web server serving your domain.

Which PHP extensions should I check before installing a plugin?

Common requirements include curl, dom, fileinfo, mbstring, mysqli or mysqlnd, openssl, xml, and zip. Image plugins may need imagick or gd, while plugins using object caching may require a configured Redis or Memcached service.

What should I do if a required PHP extension is missing?

Do not force the installation; save the exact error message and record the domain and PHP version. Ask your hosting provider whether the module can be enabled for the PHP runtime serving your site, or contact the plugin developer about an approved alternative.

Can installing more PHP extensions make my WordPress site faster?

Not automatically, since performance extensions need proper server and plugin configuration. OPcache, Redis, Memcached, and image libraries can help in the right setup, but misconfigured caching may cause stale content or interfere with forms, carts, and logged-in sessions.

Install Plugins With Confidence

A safe plugin install starts before the upload button. Check the PHP version and inspect the PHP extensions loaded by the live website. Compare them with the plugin’s requirements, then test important pages after activation.

The right server configuration gives WordPress and its plugins the tools they need. A suitable host provides a clear place to review settings and reliable backups when changes go wrong. It may also offer configured services such as object caching and active support when a server setting gets in the way.

We use cookies so you can have a great experience on our website. View more
Cookies settings
Accept
Decline
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active

Who we are

Our website address is: https://zadic.net.

Comments

When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection. An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.

Cookies

If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year. If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser. When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed. If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website. These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue. For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Visitor comments may be checked through an automated spam detection service.
Save settings
Cookies settings