PHP, Symfony and Node.js versions
This page is for developers and system administrators who prepare a machine for a DXP project. All numbers come from
the skeleton's installation guide (section 1, "Requirements") and the two composer.json files.
Contents
- The table
- PHP extensions and settings
- Node.js and Yarn
- Check a machine in two minutes
- Other lines of the family
The table
| Component | Minimum | Recommended |
|---|---|---|
| PHP | 8.3 | 8.3 or 8.5 |
| Symfony | 7.4 (LTS) | 7.4 |
| Composer | 2.x | latest 2.x |
| Node.js | 20 LTS | 20 LTS through nvm |
| Yarn | 1.x | 1.22 through corepack |
| MySQL | 8.0 (utf8mb4) | 8.0 or newer |
| MariaDB | 10.3 | 10.6 or newer |
| PostgreSQL | 14 | 16 or newer |
| SQLite | 3.35 | 3.39 or newer, development and testing |
| Redis (optional) | 6.0 | 7.x |
| Solr (optional) | 8.x | 8.11.x |
| Varnish (optional) | 6.0 | 7.1 or newer |
| Apache | 2.4 | 2.4, event MPM with PHP-FPM |
| Nginx | 1.18 | 1.24 or newer |
PHP extensions and settings
The skeleton's composer.json requires ctype, iconv, gd, curl, json, xsl, xml, intl and mbstring.
The guide adds pdo_mysql, pdo_pgsql or pdo_sqlite for your database, imagick as an alternative to gd, and
opcache.
| Setting | Value from the guide |
|---|---|
memory_limit | 256M or more, 512M recommended |
date.timezone | must be set |
max_execution_time | 120 or more, 300 recommended for command line work |
Node.js and Yarn
Node.js and Yarn build the site assets and the administration interface. The guide is strict: use Node.js 20 LTS
only ("Do not use Node.js 18 or 22 — only 20 LTS is tested and supported for this release") and Yarn 1.22, activated
with corepack enable. The Nexus v5 starter uses Node.js 22; follow the guide of the project you install
(DXP skeleton, Limits).
source ~/.nvm/nvm.sh
nvm install 20
nvm use 20
corepack enableProduction servers do not need Node.js if you build the assets elsewhere and deploy the result (Building assets).
Check a machine in two minutes
php -v # 8.3 or newer
php -m | grep -iE "ctype|iconv|gd|imagick|curl|json|xsl|xml|intl|mbstring|pdo|opcache|sqlite"
php -i | grep -E "memory_limit|date.timezone|max_execution_time"
composer --version # Composer version 2.x
node -v # v20.x
yarn -v # 1.22.xFor an existing project, Composer can tell you what blocks a version:
composer check-platform-reqs
composer why-not php 8.2Other lines of the family
| Line | PHP | Symfony | Node.js |
|---|---|---|---|
| DXP v5 (this section) | 8.3 or newer | 7.4 | 20 |
| 4.6.x skeleton | 7.4 to 8.5 | 5.4 | 20 |
| Nexus 1.3 and the v5 starter | 8.4 or newer | 7.4 | 22 |
Source: Platform package forks, Step 3.
Related pages
- Installing with the skeleton
- Databases
- Web server setup
- 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.