Drupal's requirements are spread across several documentation pages, and the ones that matter for hosting are the PHP and memory pages. This guide reads them as checked on 1 November 2026, adds the sizing Drupal leaves to the operator, and prices three configurations of the Drupal package on MassiveGRID PaaS, built on Virtuozzo Application Platform (formerly Jelastic).

What Drupal publishes

The PHP requirements page gives a version matrix per Drupal release; its newest column, Drupal 12.0, marks PHP 8.5 as supported and 8.3 and 8.4 as not, while earlier releases accept earlier PHP versions, so the right PHP depends on the Drupal you deploy. The memory rule is unambiguous: "The minimum required memory size is 64MB" and "typically, 128 MB or 256 MB is used on production systems". Required extensions are PDO, a database connector (mysql, mysqli, pgsql or SQLite), GD for images, JSON and DOM; cURL is required for automated testing and OpenSSL is recommended for outgoing HTTPS and required by the Update Manager.

The general system requirements page adds the platform: Linux recommended, Apache or Nginx, and MariaDB, MySQL, PostgreSQL or SQLite as the database, with the note that MySQL's transaction isolation should be READ-COMMITTED. Composer is the supported way to install and update Drupal, which decides how the PHP node is administered.

Drupal on MassiveGRID PaaS: one-click install, about $29.52 a month for the Starter configuration (PHP application server, 1 GiB; MySQL or MariaDB database, 512 MiB) at $0.003372 per cloudlet-hour, before volume discounts, in New York, London, Frankfurt or Singapore. 14-day free trial, no credit card. See the sizing table.

From memory_limit to node size

The memory figure is per PHP process, and a PHP-FPM pool runs several. A Drupal site with a 256 MB limit and a pool of eight workers can use 2 GiB in the worst case and usually uses far less, because most requests finish well under the limit and the page cache answers anonymous traffic without PHP at all. Add OPcache, which Drupal's performance depends on, and the database's buffer pool, and the sizing bands are: 1 GiB for a small site, 2 GiB for a site with many modules and logged-in editors, and 2 GiB per node behind a load balancer for a portal with traffic.

Drupal's heavier modules shift the bands. Search API with a Solr backend wants a JVM of its own, media-heavy sites want image styles pre-generated or a CDN, and a site with Views that aggregate large tables wants database memory more than PHP memory.

The three configurations on PaaS and their cost

The Drupal package installs a PHP application server with the extensions Drupal needs, a MySQL or MariaDB node and Drupal via Composer with Drush. Cloudlets are 128 MiB RAM plus 400 MHz CPU, billed at $0.003372 per cloudlet-hour, $2.46 per cloudlet-month, no licence fee.

ConfigurationPHP nodeDatabaseCloudletsPer month (730 h)Fits
Starter1 GiB512 MiB12$29.52A small site, a few editors
Standard2 GiB1 GiB24$59.04A site with many modules and daily editing
Production2 × 2 GiB behind a load balancer2 GiB52$127.92Portals and high traffic

Ceilings for always-on environments before volume discounts; a cached site idles far below its limit. The PaaS pricing calculator prices other layouts, and the developer post shows the Composer and Drush workflow on the node.

Public-sector and regulated sites

Drupal's share of government and university sites brings its own hosting requirement: where the data lives. Each environment is deployed in New York, London, Frankfurt or Singapore and stays there, which answers the residency question in one line; the government portal post covers the Frankfurt case with the procurement questions it answered. Backups go to a Backup Storage node you place, TLS is one add-on, and the environment can be cloned for an upgrade rehearsal, which for a Drupal major upgrade is the step that saves the weekend.

The settings that keep the bill down

Enable the internal page cache and dynamic page cache, which Drupal ships; put a reverse proxy or the platform's load balancer in front for anonymous traffic; move the cache bins to Redis on the Standard row and above; and set memory_limit to 256 MB rather than higher, because a limit that high masks a module that needs fixing. Run cron from the platform's scheduler rather than on page requests. With those, a Drupal site rarely leaves the Standard row, and the invoice reflects the cloudlets it used rather than the ceiling.

Frequently Asked Questions

What PHP version does Drupal require?

It depends on the Drupal release: the PHP requirements page checked on 1 November 2026 lists PHP 8.5 as the supported version for Drupal 12.0, with earlier releases accepting earlier versions. The package installs a current PHP with PDO, GD, JSON, DOM and the database connector Drupal requires.

How much memory does Drupal need?

Drupal's minimum PHP memory_limit is 64 MB and production systems typically use 128 or 256 MB per process. With a PHP-FPM pool and OPcache, a 1 GiB node runs a small site and a 2 GiB node a site with many modules, which are the Starter and Standard configurations on MassiveGRID PaaS at about $29.52 and $59.04 a month.

Which database should Drupal use?

MariaDB, MySQL or PostgreSQL are all supported; SQLite is for small or development sites. The package installs MySQL or MariaDB with the READ-COMMITTED isolation Drupal recommends for MySQL, on its own node so it can be sized and backed up separately.

Drupal on a PHP node sized to its own requirements

The Drupal package on MassiveGRID PaaS installs the PHP server with Drupal's extensions, a MariaDB node and Drupal via Composer in one click, from about $29.52 a month for the Starter configuration. 14-day free trial, no credit card.

Drupal on PaaS

Further Reading