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.
Quick check
Section titled “Quick check”Run these in your terminal to see your PHP version and confirm every required extension is loaded.
macOS / Linux:
php -vphp -r 'foreach (explode(" ", "curl exif fileinfo gd json mbstring openssl") as $e) echo (extension_loaded($e) ? "✓" : "✗") . " $e\n";'Windows (cmd / PowerShell):
php -vphp -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.
Required extensions
Section titled “Required extensions”These must all be present. The setup wizard refuses to continue if any are missing.
| Extension | What it’s for |
|---|---|
curl | HTTPS requests — license validation, embeds, outgoing mail |
exif | Image metadata extraction |
fileinfo | File type detection on uploads |
gd (with FreeType) | Image processing and text rendering |
json | JSON parsing — used everywhere, since storage is flat-file JSON |
mbstring | Multibyte string handling |
openssl | HTTPS, encryption, and password hashing |
Recommended extensions
Section titled “Recommended extensions”Not required, but they unlock features or improve performance.
| Extension | What you get |
|---|---|
opcache | PHP bytecode caching — strongly recommended for production |
intl | Internationalization and locale-aware formatting |
imagick | Higher-quality image processing |
apcu | Fastest in-memory cache, ideal for single-server deployments |
redis | Redis cache backend, for multi-server deployments |
memcached | Memcached 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.
Web server
Section titled “Web server”Any PHP-capable server with URL rewriting will work.
| Server | Notes |
|---|---|
| Apache | mod_rewrite must be enabled. T3 ships an .htaccess |
| Nginx | Use PHP-FPM. See Nginx Configuration |
| Caddy | Use PHP-FPM, same fundamentals as Nginx — different config syntax |
| LiteSpeed | Works out of the box |
| FrankenPHP | Classic mode works like PHP-FPM. Worker mode is unverified — use at your own risk for now |
File system
Section titled “File system”- 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)
Browser support (admin)
Section titled “Browser support (admin)”The admin dashboard targets evergreen browsers:
| Browser | Supported versions |
|---|---|
| Chrome / Edge | Latest 2 |
| Firefox | Latest 2 |
| Safari | Latest 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.
What the wizard checks
Section titled “What the wizard checks”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.