# WordPress hosting requirements

The OpenReceive plugin for WooCommerce and Easy Digital Downloads runs inside
your WordPress site, so your
host's PHP setup decides whether it can run. Most hosts meet every requirement
except one: the PHP **GMP** extension, which many hosts leave off and some
cannot add at all. Check this before you install.

## What the plugin needs

- 64-bit PHP 8.2 or newer
- the PHP **GMP** extension, used by the bundled elliptic-curve code
- the PHP **sodium** extension. WordPress's built-in sodium polyfill does not
  count.
- MySQL 8 or MariaDB 10.5+, with InnoDB tables. WordPress on SQLite is not
  supported.
- WordPress 6.6+, and WooCommerce 9+ or Easy Digital Downloads 3+

WP-CLI and SSH are optional. Every setup step also works in the WordPress admin.

## How to check your site

WordPress's **Site Health** screen cannot answer this. It lists no PHP
extensions and never checks GMP. Its "libsodium" test also passes when only
the polyfill is present.

Use one of these instead:

- **Activate the plugin.** If GMP, sodium or 64-bit PHP is missing, the
  Plugins screen says "OpenReceive is not running" and names what is missing.
  The plugin stays idle, with no payment method and no tables, until it is
  fixed.
- **Check the host's PHP info page.** Many control panels show the loaded
  extensions, for example Hostinger's hPanel (**Advanced → PHP Info**). Look
  for `gmp` and `sodium`.
- **After activation,** open **WooCommerce → Settings → Payments →
  OpenReceive**, or **Downloads → Settings → Payments → OpenReceive** on an
  Easy Digital Downloads store. The Doctor panel checks the PHP that serves
  your store.

`php -m` and `wp eval` over SSH test the command-line PHP. On many hosts that
is a different PHP from the one that serves your site, so a pass there proves
nothing about the web PHP. The plugin needs both.

## Hosts we checked

Checked against each host's own documentation in October 2026. Hosts change
their platforms, so confirm with yours before relying on this.

| Host | GMP | How to get it |
| --- | --- | --- |
| WordPress.com (Business and Commerce plans) | Enabled | Nothing to do. GMP and sodium are both on ([PHP environment](https://wordpress.com/support/php-environment/)). |
| Kinsta | On request | Ask support to enable GMP. It is not in the default module list ([modules](https://kinsta.com/docs/wordpress-hosting/php/wordpress-php-modules/)). |
| DreamHost | Off by default | Panel: **Manage Websites → Settings → PHP → Extensions → Modify**, then enable `gmp` ([DreamHost help](https://help.dreamhost.com/hc/en-us/articles/214893957)). |
| WPX | Off by default | Control panel: **PHP → your site → PHP Modules for current PHP version → GMP → Save** ([WPX](https://wpx.net/kb/how-can-i-manage-php-modules-on-my-websites/)). |
| WP Engine | Fixed set | Check its PHP info page for `gmp`. If it is missing, WP Engine cannot add it: its modules "cannot be modified, removed, or added" ([platform settings](https://wpengine.com/support/platform-settings/)). |
| Flywheel | Not available | GMP is not offered and cannot be added ([PHP on Flywheel](https://getflywheel.com/wordpress-support/php-on-flywheel/)). |
| Pressable | Not available | GMP is not in Pressable's extension list, and its PHP settings cannot be changed ([Pressable](https://pressable.com/knowledgebase/php-info-limitations-pressable/)). |
| IONOS shared hosting | Fixed set | Check its PHP info page for `gmp`. On shared hosting, a missing module cannot be added later ([IONOS](https://www.ionos.com/help/hosting/using-php-for-web-projects/displaying-php-configuration-with-a-phpinfo-script/)). |

For other hosts, use the control-panel steps below, or ask support: "Please
enable the PHP GMP and sodium extensions for PHP 8.2 or newer, for both the
website and the command line."

## Control panels

**cPanel with CloudLinux** (the most common shared-hosting setup): open
**Software → Select PHP Version**, choose a version (not "native"), then open
the **Extensions** tab and tick `gmp` and `sodium`. Changes save as you tick.

**cPanel without the PHP selector:** you cannot add extensions yourself. On
shared hosting, ask the host. On your own server, an administrator installs
`ea-php82-php-gmp` (or the package matching your PHP version) in **WHM →
EasyApache 4 → Customize → PHP Extensions**.

**Plesk:** an administrator enables the extension in **Tools & Settings → PHP
Settings**, under the PHP handler your site uses. A Plesk customer account
usually cannot.

**Your own server or container:** see
[Enable GMP in both PHP runtimes](/guides/quickstart-woocommerce.md#enable-gmp-in-both-php-runtimes)
in the WooCommerce quickstart (the
[Easy Digital Downloads quickstart](/guides/quickstart-edd.md#enable-gmp-in-both-php-runtimes)
has the same section) for Debian, Ubuntu, Alpine and the official WordPress
Docker images.

## If your host cannot enable GMP

The plugin cannot run without GMP, and there is no workaround. Move the store
to a host or plan that offers GMP, such as one in the table above, or to a VPS
where you control PHP.
