Server Environment Edit

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.

Web ServerServer A 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. Web Server

The web server is the software dedicated to run the files of the website and where users come to consult them, mainly through the Web.

There are many web servers and, generally, any that support the execution of PHPPHP PHP (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 should be able to work with WordPress.

When it comes to the serverServer A 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., web, WordPress officially supports:

Also, checked or used by hostingHosting A 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:

WordPress may work with older versions, but we recommend only versions that are stable and supported.

Remember that if you have a website running in production, it is recommended to use the latest stable version of each of the web servers (mainly for security, rather than functionality), but not alphaAlpha The alpha phase of the release life cycle is the first phase of software testing., betaBeta Beta 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. or candidate (RCRelease Candidate A beta version of software with the potential to be a final product, which is ready to release unless significant bugs emerge.) versions.

Top ↑

PHP PHP

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.

WordPress supports many versions of PHP, some even obsolete, but as a general rule you should use only those with security or stable support.

Officially the WordPress coreCore Core is the set of software required to run WordPress. The Core Team builds WordPress. supports from PHP 5.6.20 to PHP 8.0. However, not all themes or plugins are supported.

When it comes to PHP, WordPress works best with the following versions:

WordPress does work with PHP 5.6.20+. Versions prior to PHP 7.3 are not recommended because it doesn’t have support of any kind, and only use PHP 7.3 if you have the latest version, since it only has security support.

PHP Extensions PHP Extensions

WordPress core makes use of PHP extensions. 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. Therefore the PHP extensions listed below are recommended.

  • curl – Performs remote request operations.
  • dom – Used to validate Text WidgetWidget A 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 – Works with metadata stored in images.
  • fileinfo – Used to detect mimetype of file uploads.
  • hash – Used for hashing, including passwords and update packages.
  • imagick – 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.
  • jsonJSON JavaScript 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. – Used for communications with other servers.
  • mbstring – Used to properly handle UTF8 text.
  • mysqli – Connects to MySQLMySQL MySQL 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 databaseDatabase A 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.
  • openssl – Permits SSLSSL Secure 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 – Increases performance of pattern matching in code searches.
  • sodium – Validates Signatures and provides securely random bytes.
  • xml – Used for XML parsing, such as from a third-party site.
  • zip – Used for decompressing Plugins, Themes, and WordPress update packages.

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.

  • bcmath – For arbitrary precision mathematics, which supports numbers of any size and precision up to 2147483647 decimal digits.
  • filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. – Used for securely filtering user input.
  • gd – If Imagick isn’t installed, the GD Graphics Library is used as a functionally limited fallback for image manipulation.
  • iconv – Used to convert between character sets.
  • intl – 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.
  • mcrypt – Generates random bytes when libsodium and /dev/urandom aren’t available.
  • simplexml – Used for XML parsing.
  • xmlreader – Used for XML parsing.
  • zlib – Gzip compression and decompression.

These extensions are used for file changes, such as updates and pluginPlugin A 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./themeTheme A 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 – 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 (FTPFTP FTP 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.

Top ↑

System Packages System Packages

Top ↑

Database Database

For data storage, WordPress uses systems compatible with MySQL.

Officially supported by WordPress:

Checked or used by hosting companies and developers:

The use of these versions is recommended, both for performance and security reasons, although previous versions usually work without problems.

Top ↑

How do I know which version I have? How do I know which version I have?

If you have WordPress 5.2+, the WordPress Admin already has tools with that information in the Site Health section (at Tools in the menu).

If you have an older version, you can activate the Site Health section installing the WordPress Community Plugin called Health Check & Troubleshooting (more help for this plugin).

Note: If you’re interested in improving this handbook, check the Github Handbook repo, or leave a message in the #hosting-community channel of the official WordPress Slack.

Top ↑

Changelog Changelog

  • 2021-05-27: Fixing infoboxes
  • 2021-05-07: Updated versions and extensions. PHP 7.3 bump based on Trac.
  • 2021-05-05: Updated the imagick (WP_Image_Editor) link.
  • 2021-05-05: Updated versions (webserver, PHP, SQL).
  • 2021-02-17: Changelog added.
  • 2020-11-23: Minor text changes and info-block.
  • 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.
  • 2020-06-02: Published from Github.

Last updated: