Skip to content

System Requirements

Total CMS runs on any server with PHP 8.2 or higher. The setup wizard checks everything for you on first load — so you only really need this page if you want to verify your server before you install.

Run these in your terminal to see your PHP version and confirm every required extension is loaded.

macOS / Linux:

Terminal window
php -v
php -r 'foreach (explode(" ", "curl exif fileinfo gd json mbstring openssl") as $e) echo (extension_loaded($e) ? "✓" : "✗") . " $e\n";'

Windows (cmd / PowerShell):

Terminal window
php -v
php -r "foreach (explode(' ', 'curl exif fileinfo gd json mbstring openssl') as $e) { echo (extension_loaded($e) ? 'OK' : 'MISSING') . \" $e\r\n\"; }"

Windows shells don’t treat single quotes as string delimiters — only double quotes — so the quoting has to be inverted.

A (or MISSING) next to anything means you’ll need to install that extension before continuing. The rest of this page explains what each one is for.

Total CMS supports PHP 8.2+. Earlier versions are not supported.

These must all be present. The setup wizard refuses to continue if any are missing.

ExtensionWhat it’s for
curlHTTPS requests — license validation, embeds, outgoing mail
exifImage metadata extraction
fileinfoFile type detection on uploads
gd (with FreeType)Image processing and text rendering
jsonJSON parsing — used everywhere, since storage is flat-file JSON
mbstringMultibyte string handling
opensslHTTPS, encryption, and password hashing

Not required, but they unlock features or improve performance.

ExtensionWhat you get
opcachePHP bytecode caching — strongly recommended for production
intlInternationalization and locale-aware formatting
imagickHigher-quality image processing
apcuFastest in-memory cache, ideal for single-server deployments
redisRedis cache backend, for multi-server deployments
memcachedMemcached cache backend, also for multi-server deployments

You do need every cache extension. T3 picks the fastest available automatically: APCu → Redis → Memcached → filesystem.

T3 does support a 3 stage cacheing system. In order to achieve this, we recommend that you use Opcache, APCu and Redis or Memcached. This setup will provide you the best setup for caching.

Any PHP-capable server with URL rewriting will work.

ServerNotes
Apachemod_rewrite must be enabled. T3 ships an .htaccess
NginxUse PHP-FPM. See Nginx Configuration
CaddyUse PHP-FPM, same fundamentals as Nginx — different config syntax
LiteSpeedWorks out of the box
FrankenPHPClassic mode works like PHP-FPM. Worker mode is unverified — use at your own risk for now
  • Write access to the data directory you choose during setup
  • ~100 MB free disk space for the application itself
  • Additional space scales with your content (uploads, image variants)

The admin dashboard targets evergreen browsers:

BrowserSupported versions
Chrome / EdgeLatest 2
FirefoxLatest 2
SafariLatest 2

These requirements only apply to the admin. Your public-facing site is rendered by your own templates, so browser support there is entirely up to you.

When you load your install URL for the first time, the setup wizard runs an environment check before anything else. Required extensions must all pass; recommended ones show up as friendly suggestions. If something’s missing, you’ll see exactly what’s wrong and what to install — no guessing.