The hostingHostingA web hosting service is a type of Internet hosting service that allows individuals and organizations to make their website accessible via the World Wide Web. team works to improve WordPress’ end-user experience across hosting environments through industry collaboration and user education.
Want to contribute? Come join us!
The team meets in the #hostingSlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel each week on Wednesday at 0900 UTC and 1800 UTC. Check out local times at make/meetings.
Although WordPress can work in almost any environment, even very minimal ones, it must be acknowledged that it does not work completely well in these. That’s why here we are going to make some minimum recommendations of the environment in which it would work most effectively when considering that most WordPress websites use third party plugins and themes which commonly introduce additional serverServerA server is a piece of computer hardware or software that provides functionality for other programs or devices. Typical servers are database servers, file servers, mail servers, print servers, web servers, game servers, and application servers.-level requirements.
The web serverServerA server is a piece of computer hardware or software that provides functionality for other programs or devices. Typical servers are database servers, file servers, mail servers, print servers, web servers, game servers, and application servers. is piece of software that accepts user web requests and serves them the appropriate result. There are many different web servers that run on different operation systems. Generally, if your web server supports and executes PHPPHPPHP (PHP: Hypertext Preprocessor) is a general-purpose scripting language especially suited to web development. PHP code is usually processed on a web server by a PHP interpreter. On a web server, the result of the interpreted and executed PHP code would form the whole or part of an HTTP response. files, it should be able to work with WordPress.
The two most popular ones that are recommended are:
Others are used by hostingHostingA web hosting service is a type of Internet hosting service that allows individuals and organizations to make their website accessible via the World Wide Web. companies and developers and are known to work well too:
Those are the latest versions at the time of writing this document, for WordPress 6.6. Always keep your web server up-to-date to ensure best performance!
PHP is a programming language on which WordPress code is based. This language runs on the server and it is important to keep it up to date, both for security and functionality.
IMPORTANT: WordPress 6.6 is compatible with exceptions with PHP 8.1, and PHP 8.2, and betaBetaBeta is the software development phase following alpha. A Beta phase generally begins when the software is feature complete but likely to contain a number of known or unknown bugs. Software in the beta phase will generally have many more bugs in it than completed software, speed or performance issues, and may still cause crashes or data loss. The focus of beta testing is reducing impacts to users, often incorporating usability testing. compatible with PHP 8.3.
What “compatible with exceptions” means?
PHP 8.1
Not all “passing null to non-nullable” issues have been found. In PHP, you can tell a function exactly what type of information it should accept. If you tell a function to expect a certain type of information, and you give it nothing at all (null is like saying “nothing”), then PHP gets confused and gives an error. This problem happens when someone accidentally gives a function “nothing” when the function wasn’t designed to handle “nothing”.
_htmlentities() needs the default value of the flags parameter explicitly set_. According to htmlentities(), the default for flags for PHP 8.1 was “changed from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401”. All use cases for this functionality in WordPress CoreCoreCore is the set of software required to run WordPress. The Core Team builds WordPress. are being investigated. NOTE: Has a patch, but moved to WordPress 6.7.
Replace most strip_tags() with wp_strip_tags().
There are rare occasions when the strip_tags() function is passed a null value, which generates a warning that the string is deprecated. NOTE: Has a patch.
Deprecation notices. A deprecation notice is not an error, but rather an indicator of where additional work is needed for compatibility before PHP 9.0. With a deprecation notice, the PHP code will continue to work and nothing is broken.
Deprecation notices: A deprecation notice is not an error, but rather an indicator of where additional work is needed for compatibility before PHP 9.0. With a deprecation notice, the PHP code will continue to work and nothing is broken.
Deprecation notices: A deprecation notice is not an error, but rather an indicator of where additional work is needed for compatibility before PHP 9.0. With a deprecation notice, the PHP code will continue to work and nothing is broken.
Deprecation notices: A deprecation notice is not an error, but rather an indicator of where additional work is needed for compatibility before PHP 9.0. With a deprecation notice, the PHP code will continue to work and nothing is broken.
PHP 8.1 is maintained by the PHP Community only as Security fix only starting 2022-11-26. Keeping your PHP to the latest stable version is important for WordPress speed and security.
Versions prior to PHP 8.1 are not maintained by the PHP Community, although they may receive security updates from operating systems distributions.
WordPress core makes use of various PHP extensions when they’re available. If the preferred extension is missing WordPress will either have to do more work to do the task the module helps with or, in the worst case, will remove functionality. All the extensions are for installations with PHP >= 7.4.
The PHP extensions listed below are required for a WordPress site to work.
json (bundled in >=8.0.0) – Used for communications with other servers and processing data in JSONJSONJavaScript Object Notation (JSON) is an open standard file format, and data interchange format, that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and array data types. It is a very common data format, with a diverse range of applications, such as serving as a replacement for XML in AJAX systems. format.
One of either mysqli (bundled in >=5.0.0), or mysqlnd – Connects to MySQLMySQLMySQL is an open-source relational database management system (RDBMS). MySQL is free and open-source software under the terms of the GNU General Public License. for databaseDatabaseA database is an organized collection of data. Access to this data is usually provided by a "database management system" (DBMS) consisting of an integrated set of computer software that allows users to interact with one or more databases and provides access to all of the data contained in the database. Because of the close relationship between them, the term "database" is often used casually to refer to both a database and the DBMS used to manipulate it. interactions.
The PHP extensions listed below are highly recommended in order to allow WordPress to operate optimally and to maximise compatibility with many popular plugins and themes.
dom (requires libxml) – Used to validate Text WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. content and to automatically configure IIS7+.
exif (requires php-mbstring) – Works with metadata stored in images.
fileinfo (bundled in PHP) – Used to detect mimetype of file uploads.
hash (bundled in PHP >=5.1.2) – Used for hashing, including passwords and update packages.
igbinary – Increases performance as a drop in replacement for the standard PHP serializer.
imagick (requires ImageMagick >= 6.2.4) – Provides better image quality for media uploads. See WP_Image_Editor for details. Smarter image resizing (for smaller images) and PDF thumbnail support, when Ghost Script is also available.
intl (PHP >= 7.4.0 requires ICU >= 50.1) – Enable to perform locale-aware operations including but not limited to formatting, transliteration, encoding conversion, calendar operations, conformant collation, locating text boundaries and working with locale identifiers, timezones and graphemes.
openssl (PHP 7.1-8.0 requires OpenSSL >= 1.0.1 / < 3.0; PHP >= 8.1 requires OpenSSL >= 1.0.2 / < 4.0; PHP >= 8.4 requires OpenSSL >= 1.1.1 / < 4.0) – SSLSSLSecure Sockets Layer (SSL) was a cryptographic protocol designed to provide communications security over a computer network. This protocol became obsolete due to a multitude of security problems and was replaced by TLS.-based connections to other hosts.
pcre (bundled in PHP >= 7.0 recommended PCRE 8.10) – Increases performance of pattern matching in code searches.
xml (requires libxml) – Used for XML parsing, such as from a third-party site.
zip (requires libzip >= 0.11; recommended libzip >= 1.6) – Used for decompressing Plugins, Themes, and WordPress update packages.
The PHP extensions listed below are recommended to allow some WordPress cacheCacheA cache is a component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation or a copy of data stored elsewhere. (if necessary). APCu, MemcachedMemcachedMemcached is a general-purpose distributed memory-caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source must be read. Memcached is free and open-source software., and RedisRedisRedis (Remote Dictionary Server) is an in-memory data structure store, in-memory key–value database. It is open-source software.. are alternatives of which only one needs to be used.
apcu – In-memory key-value store for PHP (former APC stripped of opcode cachingCacheA cache is a component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation or a copy of data stored elsewhere.).
memcached (requires libmemcached >= 1.0.0) – memcached is a high-performance, distributed memory objectObjectIn computer science, an object can be a variable, a data structure, a function, or a method, and as such, is a value in memory referenced by an identifier. caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
opcache – PHP can be configured to preload scripts into the opcache when the engine starts.
The PHP extensions listed below are optional to imrpove some WordPress functionality.
timezonedb – Timezone Database to be used with PHP’s date and time functions
For the sake of completeness, below is a list of the remaining PHP modules WordPress may use in certain situations or if other modules are unavailable. These are fallbacks or optional and not necessarily needed in an optimal environment, but installing them won’t hurt.
bc – For arbitrary precision mathematics, which supports numbers of any size and precision up to 2147483647 decimal digits.
image (requires libgd >= 2.1.0; requires zlib >= 1.2.0.4; optional freetype2) – If Imagick isn’t installed, the GD Graphics Library is used as a functionally limited fallback for image manipulation.
iconv (requires libiconv/POSIX) – Used to convert between character sets.
shmop – Shmop is an easy to use set of functions that allows PHP to read, write, create and delete Unix shared memory segments.
simplexml (requires libxml) – Used for XML parsing.
sodium – (bundled in PHP >=7.2.0; requires libsodium >= 1.0.8) – Validates Signatures and provides securely random bytes.
xmlreader (requires libxml) – Used for XML parsing.
zlib (requires zlib >= 1.2.0.4) – Gzip compression and decompression.
These extensions are used for file changes, such as updates and pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory or can be cost-based plugin from a third-party./themeThemeA theme dictates the style and function of your WordPress website. Child Themes derive from the main parent theme. installation, when files aren’t writeable on the server.
ssh2 (requires OpenSSL and libssh >= 1.2; recommended libssh >= 1.2.9) – Provide access to resources (shell, remote exec, tunneling, file transfer) on a remote machine using a secure cryptographic transport.
ftp – Implement client access to files servers speaking the File Transfer Protocol (FTPFTPFTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website.).
sockets – Implements a low-level interface to the socket communication functions based on the popular BSD sockets.
The priority of the transports are Direct file IO, SSH2, FTP PHP Extension, FTP implemented with Sockets, and FTP implemented through PHP alone.
End of life mariaDBMariaDBMariaDB is a fork of the MySQL relational database management system (RDBMS), intended to remain free and open-source software under the GNU General Public License. MariaDB intended to maintain high compatibility with MySQL, ensuring a drop-in replacement capability with library binary parity and exact matching with MySQL APIs and commands. versions:
MariaDB 11.4: 2029-05-29
MariaDB 11.3: 2024-05-29 last release: 11.3.2
MariaDB 11.2: 2024-11-21 last release: 11.2.4
MariaDB 11.1: 2024-08-21
MariaDB 11.0: 2024-06-07 last release: 11.0.6
MariaDB 10.11: 2028-02-16
MariaDB 10.10: 2023-11-17 last release: 10.10.7
MariaDB 10.9: 2023-08-22 last release: 10.9.8
MariaDB 10.8: 2023-05-20 last release: 10.8.8
MariaDB 10.7: 2023-02-09 last release: 10.7.8
MariaDB 10.6: 2026-07-06
MariaDB 10.5: 2025-06-24
MariaDB 10.4: 2024-06-18 last release: 10.4.34
MariaDB 10.3: 2023-05-25 last release: 10.3.39
MariaDB 10.2: 2022-05-22 last release: 10.2.44
MariaDB 10.1: 2020-10-17 last release: 10.1.48
MariaDB 10.0: 2019-03-31 last release: 10.0.38
MariaDB 5.5: 2020-04-11 last release: 5.5.68
Other MySQL servers that are known to perform well are:
2020-07-16: Updated webserver versions and vendors. Updated PHP versions. Updated SQL versions and vendors. Added: How do I know which version I have?. Updated libsodium to sodium