PHP and platform support over the contract term
This page is for project managers and hosting staff in a public body. A content management system runs on a platform (PHP, a database, a web server, an operating system), and each part has its own lifecycle. A contract of several years will see at least one PHP upgrade. The facts come from 2. Requirements and the support commitment in Who is the Exponential Foundation?.
Contents
PHP
| PHP | Exponential 6.0 |
|---|---|
| 7.4 | usable without support from 6.0.15 (no bug-fix or security commitment, without the features that need PHP 8); not by 6.0.8 to 6.0.14 |
| 8.0 | supported again in 6.0.15; the stock PHP of Red Hat Enterprise Linux 9 and its rebuilds; Velocity runs on it from its release 0.0.4.54 |
| 8.1 to 8.4 | supported, Velocity included |
| 8.5 | supported; the newest version tested |
| later 8.x | accepted by composer.json but not yet released or tested |
Source: 2. Requirements, PHP versions. The continuous integration runs the test suite on PHP 8.1 to 8.5 and checks that 8.0 still boots (Who is the Exponential Foundation?).
PHP itself has a published support schedule (php.net: supported versions). Older PHP versions lose security support first, so the requirements chapter recommends the newest PHP your system offers.
Databases
Exponential 6.0 supports six database systems, in this official order of preference: SQLite 3 (the default), PostgreSQL, MongoDB, MariaDB, Oracle, MySQL (Database support, 9. Databases). Microsoft SQL Server is described as possible with additional work. The database is part of the platform: plan its own upgrades, and its backup method (Database backups per engine).
Web servers and engines
A site can be served by Exponential Velocity, by Apache or nginx with PHP-FPM, or by FrankenPHP
(8. Serving the site). Velocity needs PHP 8.0 or later (from its release 0.0.4.54) with the sockets
extension (2. Requirements). Velocity is a separate package with its own
versions and changelog (Velocity changelog).
Operating systems
Supported operating systems and their tiers are listed in Operating system support; hosts will find the practical notes in Operating systems for hosts.
Planning platform upgrades
| Layer | Who upgrades it | Typical trigger |
|---|---|---|
| Exponential kernel and extensions | the supplier or your site administrator | a new 6.0.x release, a security fix |
| PHP | the host | the PHP version's end of security support |
| Database | the host | the database version's end of support |
| Operating system | the host | the distribution's end of support |
Practical rules:
- Upgrade one layer at a time, with a test on a staging copy in between.
- Before a PHP upgrade, check that every extension the site uses supports the new version; your own extensions are the usual risk (14.1 explains why PHP code is the largest piece of a migration).
- Hosts have a runbook: PHP upgrade.
- After a PHP change, the engine must reload its code; the operations pages explain it per engine (Deploying).
In a contract
Platform
1. The Supplier keeps PHP, the database and the operating system on versions that receive security
updates from their publishers, and supported by the Exponential version in use
(doc/eng-us/install/02-requirements.md).
2. The Supplier announces a platform upgrade <n> days ahead and tests it on a staging copy first.
3. The Supplier reports the PHP, database and operating system versions in each <period> report.Related pages
- The product lifecycle
- Supported versions
- Requirements at a glance (for hosts)
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
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.