WordPress Required PHP Extensions
WordPress needs PHP extensions to generate page content, update core and plugins and also for handling of file and image uploads. In this post, we have compiled a complete list of required PHP extensions for operating WordPress on a linux server.
Critical PHP Extensions
Critical PHP extensions are a must for full performance of your WordPress installation. A missing extension may decrease performance of your WordPress installation drastically and it can even cause your server to crash on high-volume user requests. Make sure that all extensions marked with external or PECL are enabled on your server.
- curl (external*) – cURL is a library that lets you make HTTP requests in PHP. Performs remote request operations.
- dom (external*) – The DOM extension allows you to operate on XML documents through the DOM API with PHP. Used to validate html content.
- exif (bundled) – Exif PHP extension enables you to work with metadata from images taken by digital devices. Works with metadata stored in images.
- fileinfo (bundled) – Tries to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions. Used to detect mimetype of file uploads.
- hash (core) – Allows direct or incremental processing of arbitrary length messages using a variety of hashing algorithms. Used for hashing, including passwords and update packages.
- json (bundled) – Implements the JavaScript Object Notation (JSON) data-interchange format. Used for communications with other servers.
- mbstring (bundled) – Mbstring is an extension of php used to manage non-ASCII strings. Used to properly handle UTF8 text.
- mysqli (external*) – The MySQLi Extension is a relational database driver used in the PHP scripting language to provide an interface with MySQL databases. Connects to MySQL for database interactions.
- sodium (external*) – Sodium, is a powerful cryptography library. Validates Signatures and provides securely random bytes.
- openssl (external*) – Permits SSL-based connections to other hosts.
- pcre (bundled) – The PCRE library is a set of functions that implement regular expression pattern matching. Increases performance of pattern matching in code searches.
- imagick (PECL*) – Provides better image quality for media uploads.
- xml (external*) – Used for XML parsing, such as from a third-party site.
- zip (external*) – Used for decompressing Plugins, Themes, and WordPress update packages.
Optional Extensions
- filter (core) – Filters data by either validating or sanitizing it. Used for securely filtering user input.
- gd (bundled) – Used to create and manipulate image files in a variety of different image formats. If Imagick isn’t installed, the GD Graphics Library is used as a functionally limited fallback for image manipulation.
- iconv (bundled) – Contains an interface to iconv character set conversion facility with various utility functions that help you to write multilingual scripts. Used to convert between character sets.
- mcrypt (external*) – Generates random bytes when libsodium and /dev/urandom aren’t available.
- simplexml (external*) – Used for XML parsing.
- xmlreader (external*) – Used for XML parsing.
- zlib (bundled) – Gzip compression and decompression.
Check official WordPress php extension requirements checklist here for the latest updates.
(*) Please note, if your hosting provider is not a dedicated WordPress hosting company, libraries with asterisk may be missing on your PHP installation. Especially imagick is a critical extension and we recommend enabling it on your server.