Sunday, February 22nd 2026Joomla Hosting Requirements in 2026: PHP, Database, Server Specs & More

Joomla Hosting Requirements in 2026: PHP, Database, Server Specs & More

Every Joomla release publishes minimum system requirements. And every experienced Joomla admin knows that "minimum" and "runs well" are very different things.

Joomla 5.x can technically start on PHP 8.1 with 128 MB of memory. But a real site—with extensions, templates, multilingual content, and actual visitors—needs more. This guide covers both the official requirements and the practical server configuration that makes Joomla fast and stable in production.

If you're evaluating a host for a new Joomla site or considering a migration, use this as your checklist.

Official Joomla 5.x system requirements

These come directly from the Joomla documentation and represent the floor—what you need for Joomla to install and boot.

PHP

  • Minimum: PHP 8.1
  • Recommended: PHP 8.2 or 8.3
  • Required extensions: json, simplexml, dom, zlib, gd or Imagick, MySQLi or PDO

Joomla 5.x dropped support for PHP 7.x entirely. If your host still runs PHP 7.4 or 8.0, you cannot run Joomla 5.

Database

  • MySQL: 8.0 or newer
  • MariaDB: 10.4 or newer
  • PostgreSQL: 12.0 or newer (supported but less common in shared hosting)

The InnoDB storage engine is required. MyISAM won't work for Joomla's core tables.

Web server

  • Apache: 2.4+ with mod_rewrite enabled (for SEF URLs)
  • Nginx: supported with proper rewrite rules
  • IIS: supported but rare in practice

Other

  • HTTPS: strongly recommended (and effectively required for SEO and browser trust)
  • cURL: required for many extensions and update checks
  • mbstring: required for proper multilingual handling

What the official requirements don't tell you

The requirements page tells you what Joomla needs to start. It doesn't tell you what Joomla needs to run a business website with 50 extensions, 10,000 articles, and 500 daily visitors. Here's what actually matters in production.

PHP memory limit

The official minimum is 128 MB. In practice:

  • 256 MB is the realistic minimum for a site with a moderate number of extensions
  • 512 MB is recommended for sites with complex ACL configurations, large component extensions (like VirtueMart, HikaShop, or community components), or heavy admin operations
  • 1024 MB may be needed during major operations like Joomla version upgrades or large data imports

If your host sets memory_limit to 128 MB and won't let you change it, you'll hit memory exhaustion errors during updates and admin tasks. This is one of the most common Joomla problems on cheap shared hosting.

OPcache configuration

OPcache stores precompiled PHP bytecode in memory so PHP doesn't need to parse and compile files on every request. For Joomla, this is a significant performance lever because Joomla's file structure is large—core alone contains thousands of PHP files, and extensions add more.

Recommended OPcache settings for Joomla:

  • opcache.memory_consumption: 256 MB (default is often 128 MB, which can be too small once extensions are loaded)
  • opcache.max_accelerated_files: 20000 (Joomla + extensions easily exceed the default 10000)
  • opcache.validate_timestamps: 1 (in production; set revalidate_freq to 60–120 seconds)
  • opcache.enable_cli: 0 (not needed for web serving)

If your host doesn't enable OPcache or configures it with defaults, every page load forces PHP to recompile files. The difference between OPcache on and off can be 2–5x in response time.

PHP max_execution_time

Default on many shared hosts: 30 seconds. This is fine for serving pages but too short for:

  • Joomla core updates (especially major version jumps)
  • Extension installations with database migrations
  • Large content imports or batch operations
  • Search index rebuilding

Recommended: 120–300 seconds for admin operations. A well-configured host either sets this higher globally or allows you to adjust it per directory via .htaccess or php.ini overrides.

PHP upload and post limits

Joomla's Media Manager and extension installer depend on these:

  • upload_max_filesize: 64 MB minimum (extension packages and media uploads can be large)
  • post_max_size: 64 MB minimum (must be equal to or larger than upload_max_filesize)
  • max_input_vars: 5000 (Joomla admin forms with many fields—like ACL permissions or menu configurations—can exceed the default 1000)

The max_input_vars limit is a particularly sneaky one. If it's set too low, saving complex permission configurations silently truncates data. You won't see an error—your settings just won't save correctly.

PHP workers and concurrency

This is a shared hosting concept that most hosts don't advertise clearly. PHP workers determine how many simultaneous PHP requests your account can process. If all workers are busy, new requests queue and eventually time out.

For a Joomla site with moderate traffic (500–2000 daily visitors):

  • Minimum: 2–3 PHP workers
  • Recommended: 4–6 PHP workers
  • For WooCommerce-equivalent traffic (VirtueMart, HikaShop): 6+ workers

If your host doesn't disclose PHP worker limits, ask directly. "Unlimited" shared hosting with 1–2 PHP workers will choke under any meaningful traffic.

Database configuration that matters for Joomla

Joomla uses the database more heavily than some CMSes. Its ACL system, nested category structures, content versioning, and multilingual tables create complex query patterns.

InnoDB buffer pool size

This is the single biggest database performance setting, and it's configured at the server level—you can't change it from Joomla admin or cPanel.

The InnoDB buffer pool caches table data and indexes in memory. When it's too small, MySQL reads from disk constantly, which is slow even on SSDs.

  • Ideal: large enough to hold your entire database in memory
  • Minimum practical: 256 MB for small Joomla sites
  • Recommended: 512 MB–1 GB for sites with large content tables

On shared hosting, you're sharing this buffer pool with other accounts. This is why Joomla database performance can vary wildly on the same shared server depending on time of day and neighbor activity.

Query caching

Joomla makes many repeated queries for the same data (menus, modules, ACL lookups). Caching these results avoids redundant database work.

  • MySQL query cache: deprecated in MySQL 8.0 and removed in 8.4. If your host runs MySQL 8.x, this isn't available.
  • Redis or Memcached: the modern alternative. Joomla supports both as external cache handlers. A host that provides Redis or Memcached gives you a significant performance advantage over one that doesn't.

Storage type

  • SSD (solid state): strongly recommended. Database-heavy CMSes like Joomla benefit enormously from fast random I/O.
  • NVMe SSD: even faster. Look for this on newer hosting platforms.
  • HDD (spinning disk): avoid for any Joomla site that matters. The I/O latency difference is dramatic.

Server-level configuration checklist

Here's a consolidated checklist you can use when evaluating a hosting provider for Joomla 5.x.

Must-have

  • PHP 8.2 or 8.3
  • MySQL 8.0+ or MariaDB 10.4+
  • OPcache enabled
  • memory_limit: 256 MB or higher
  • max_execution_time: 120 seconds or higher
  • upload_max_filesize: 64 MB or higher
  • post_max_size: 64 MB or higher
  • max_input_vars: 5000 or higher
  • mod_rewrite enabled (Apache) or equivalent rewrite rules (Nginx)
  • SSL/TLS support with free certificates
  • SSD storage
  • Daily automated backups

Strongly recommended

  • Redis or Memcached available
  • PHP workers: 4+ per account
  • OPcache memory: 256 MB
  • Staging environment or easy site cloning
  • Cron job support (needed for Joomla's scheduled tasks)
  • SSH access (useful for Joomla CLI and Composer-based workflows)

Nice to have

  • NVMe storage
  • HTTP/2 or HTTP/3 support
  • CDN integration (Cloudflare or similar)
  • Git deployment support
  • Multiple PHP version switching via cPanel

How to check your current hosting

If you already have a Joomla site hosted somewhere and want to verify your server meets these requirements, there are a few ways.

From Joomla admin

Go to System → System Information in Joomla's admin panel. This shows your PHP version, database version, loaded PHP extensions, and key php.ini values. Check memory_limit, max_execution_time, upload_max_filesize, and OPcache status here.

From cPanel

If your host provides cPanel, look at:

  • Select PHP Version (or MultiPHP Manager) — shows your PHP version and lets you change it
  • PHP ini Editor — shows and lets you modify PHP configuration values
  • phpMyAdmin — shows your MySQL/MariaDB version

From the command line

If you have SSH access:

php -v                    # PHP version
php -m                    # Loaded extensions
php -i | grep memory      # Memory limit
mysql --version           # Database version

When your hosting doesn't meet requirements

If your current hosting falls short—PHP is too old, memory is too low, no OPcache, no Redis—you have a few options:

  1. Ask your host to upgrade. Some shared hosts can adjust PHP versions and limits per account. It doesn't hurt to ask.
  2. Switch to a host that meets the requirements. This is often simpler than fighting with a provider that doesn't configure for CMS workloads. Migrating a Joomla site is straightforward with the right tools.
  3. Move to a VPS or semi-dedicated plan where you have more control over server configuration.

At MaiaHost, our hosting environment is configured for CMS workloads out of the box—PHP 8.2+, MariaDB, Redis, Memcached, SSD RAID storage, and PHP settings tuned for Joomla and similar platforms. No special requests needed.

FAQs

What PHP version does Joomla 5 need?

Joomla 5.x requires PHP 8.1 at minimum. PHP 8.2 or 8.3 is recommended for better performance and longer security support. PHP 7.x is not supported.

How much memory does Joomla need?

The official minimum is 128 MB, but production sites should have at least 256 MB. Sites with many extensions, complex ACL, or eCommerce components should use 512 MB or more. Memory exhaustion during updates is the most common symptom of insufficient allocation.

Does Joomla work with MariaDB?

Yes. Joomla 5.x officially supports MariaDB 10.4 and newer. MariaDB is a drop-in replacement for MySQL and is the default database on many hosting platforms, including MaiaHost.

Can I run Joomla on Nginx?

Yes. Joomla supports both Apache and Nginx. Apache is more common on shared hosting because it supports .htaccess files, which Joomla uses for SEF URL rewriting. Nginx requires equivalent rules in its server configuration, which typically means you need VPS-level access or a host that preconfigures Nginx for Joomla.

How do I check if my host supports Joomla 5?

Log into Joomla admin and go to System → System Information. Check the PHP version (needs 8.1+), database version (MySQL 8.0+ or MariaDB 10.4+), and key PHP settings. If any are below requirements, contact your host or consider migrating to a host that's configured for Joomla.

Sources

  • Joomla — Technical Requirements: https://manual.joomla.org/docs/get-started/technical-requirements/
  • PHP Manual — OPcache configuration: https://www.php.net/manual/en/opcache.configuration.php
  • PHP Manual — Core php.ini directives: https://www.php.net/manual/en/ini.core.php
  • MariaDB — InnoDB Buffer Pool: https://mariadb.com/kb/en/innodb-buffer-pool/
  • MySQL — InnoDB Configuration: https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html
Share

Talk to an expert and we’ll tell you the best setup for your project.

Explore plans or talk to us—no sales scripts, just practical advice from real engineers.

View Plans Contact Us