Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,075 of 9,075 pages
About the help in other languages
All help pages

Requirements at a glance

Every requirement of Exponential 6.0.x on one page, with the minimum, the recommendation and what checks it: PHP, extensions, php.ini, databases in the official order, Composer, web server, image conversion, writable…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/hosting/basics/requirements-at-a-glance.md

On this page

Requirements at a glance

Supported: PHP 8.0 to 8.5. Usable without support: PHP 7.4 (Exponential 6.0.15 and later). Why Exponential supports PHP 7.4

This page is for system administrators and support staff at a hosting company who need the requirements of Exponential 6.0.x in one place, and for product managers who must check that a plan can run it. It answers: what must a server have, what is only recommended, and which part of the software checks each item. The full chapter with every reason is chapter 2 of the installation book, Requirements; this page is its summary for hosts.

Contents

  1. The table
  2. Required PHP extensions
  3. Databases
  4. What the installer checks for you
  5. What is not a requirement
  6. Check a server in two minutes
  7. Checklist
  8. Related pages

The table

NeedMinimumRecommendedChecked by
PHP8.0 supported, Layouts included (7.4 usable without support)the newest 8.x the system offers; 8.5 is the newest testedComposer (composer.json require.php) and the setup wizard (settings/setup.ini, [phpversion] MinimumVersion=7.4.0)
PHP for Exponential Velocity8.0 with sockets (8.1 before release 0.0.4.54)with pcntl and openssl as wellComposer (the Velocity package requires "php": ">=8.0" and ext-sockets)
PHP extensionssee belowplus curl, gd, openssl, pcntl, opcacheComposer (ext-*) and the setup wizard's critical tests
php.inimemory_limit 64M, max_execution_time 30, date.timezone set, file_uploads on, allow_url_fopen onmore memory for imports and image work; upload limits sized for your customersthe setup wizard's critical tests
Databaseone of the six, SQLite 3 needs no serverin the official order: SQLite 3, PostgreSQL, MongoDB, MariaDB, Oracle, MySQLthe installer's database step
Composer2.xa current 2.x (2.2 or later reads config.allow-plugins)you
Web servernone (Velocity or PHP's built-in server)Velocity, or Apache or nginx with PHP-FPMyou
Image conversionGD (imagegd2()) or ImageMagick's convertbothcritical test image_conversion
64-bit PHPrecommended64-bitcomposer.json suggests php-64bit "for support of more than 30 languages"
Writable directoriesvar/, settings/ and the others the wizard listsone user or one group for every processcritical test directory_permissions
Command linea shell with the same PHP as the webyes, for Composer, cron and the consoleyou

Sources: chapter 2, the checklist and composer.json.

Note

PHP 8.0 support is new in the 6.0.15 line. The published tags v6.0.8 to v6.0.14 require PHP 8.1 in their composer.json, so a server on PHP 8.0 installs the 6.0.15 line (chapter 3).

Required PHP extensions

ExtensionWhy
dom, libxml, simplexml, xslXML: rich text, packages, settings tools; xsl is a critical test
mbstring, iconv, intltext in every language; all three are critical tests
pcre, json, reflection, spl, sessionpart of PHP; required by composer.json
zlibgzip for packages and files; critical test
one database extensionsqlite3, pgsql, mongodb, mysqli or oci8
gd or ImageMagickimage variations

The full list, the recommended extensions and the package names per system are on PHP versions and extensions.

Databases

Supported databases (Exponential 6.0.x), in order of preference: 1. SQLite 3 (the default) · 2. PostgreSQL · 3. MongoDB · 4. MariaDB · 5. Oracle · 6. MySQL. Microsoft SQL Server is known to be possible with additional work at this time (no driver in 6.0.x).

DatabasePHP extensionPractical minimum
1. SQLite 3sqlite3library 3.33
2. PostgreSQLpgsql13
3. MongoDBmongodb and the library mongodb/mongodbserver 6.0, PHP 8.2
4. MariaDBmysqlia release the vendor still supports
5. Oracleoci819c
6. MySQLmysqlia release the vendor still supports

The practical minimums come from Database support; the setup wizard accepts older floors, which are not a promise. Details per engine are on Databases in the official order.

What the installer checks for you

The setup wizard's System check page runs the critical tests in settings/site.ini, [SetupSettings] CriticalTests, with their parameters in settings/setup.ini. The kickstarter and exp:install run the same tests in their SystemCheck step. A failure stops the install and prints the cause and the fix, for permissions the exact chmod and chown commands (chapter 2.4).

Critical testChecks
directory_permissionsthe directories in [directory_permissions] CheckList are writable
phpversionPHP at least 8.0
database_extensionsat least one database extension
image_conversionGD or ImageMagick
memory_limitat least 64M (or -1)
execution_timeat least 30 (or 0)
allow_url_fopenon
php_session, file_upload, timezonesessions, uploads, a time zone
zlib_extension, dom_extension, iconv_extension, mbstring_extension, intl_extension, xsl_extensionthe extension is loaded
ezcversionthe kernel's libraries are installed (composer install ran): the expcomponents since 6.0.15, the Zeta Components before

Warning

The directory test runs as the user that runs the check: in the browser the web server's user, on the command line whoever starts the install. A command-line install by another user can pass and still leave files the web server cannot write. See Writable directories and permissions.

What is not a requirement

  • A particular operating system. Exponential runs wherever PHP 8 runs; see Operating systems for hosts.
  • A database server. SQLite 3, the default, is a file under var/storage/sqlite3/.
  • A separate web server, when Velocity serves the site.
  • Solr, Valkey or Redis. They are optional extensions for search and caching (Search backends, Valkey and Redis).

Check a server in two minutes

php -v                          # 8.0 or later, for Velocity too
php -m                          # the extensions listed above
php -i | grep "Integer Size"    # 64 bits recommended
composer --version              # Composer 2, and the PHP it runs with

Compare php -v and php -m with the PHP information of the web server's PHP: on servers with several PHP versions they often differ. With the Velocity package installed, php bin/php/console exp:velocity ext check compares the machine with the extension set Velocity expects, and exp:velocity ext install-hint <extension> prints the package command for the system (chapter 2.3).

Checklist

  • To do: php -v shows 8.0 or later for both the web and the command line PHP (Velocity included).
  • To do: Every required extension is loaded in both.
  • To do: memory_limit, max_execution_time, date.timezone, file_uploads and allow_url_fopen set.
  • To do: One database extension for the database the plan offers.
  • To do: GD or ImageMagick installed.
  • To do: Composer 2 available to the site's user.
  • To do: The writable directories belong to the user that runs PHP for the site.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x