PHP
Concrete CMS is written primarily in PHP. Additionally, some PHP extensions which provide extra functionality are needed. The version of the PHP interpreter and the PHP extensions needed depends on the version of Concrete in use. Below you will find details for both supported major versions of Concrete.
Concrete Version 9
Version 9 is the current major release. It offers full support of PHP 8 and a minimum PHP version of 7.3. The latest released version of this series is considered to be the most secure and stable version.
PHP | Status | Version | Notes | |
---|---|---|---|---|
< 7.3 | None | Concrete CMS 9.0 requires PHP 7.3 or greater. | ||
7.3 | 9.0+ | PHP 7.3 is EOL | ||
7.4 | 9.0+ | PHP 7.4 is EOL. | ||
7.4 LTS | 9.0+ | |||
8.0 | 9.0.2+ | |||
8.1 | 9.1.1+ | |||
8.2 | 9.1.1+ |
- Not Possible
- Technically possible, but not currently recommended.
Recommended configuration.
Concrete Version 8
Version 8 is the previous major release of Concrete. Version 8.5 will have Long Term Support (LTS) until 31 Dec 2024 (as long as security updates are technically possible).
PHP | Status | Version | Notes | |
---|---|---|---|---|
< 5.5 | None | Concrete CMS 8 requires PHP 5.5.9 or greater. | ||
5.5 | 8.0 - 8.5.7 | (Note: PHP 5.5 is EOL) | ||
5.6 | 8.0 - 8.5.7 | (Note: PHP 5.6 is EOL) | ||
7.0 | 8.0 - 8.5.7 | (Note: PHP 7.0 is EOL) | ||
7.1 | 8.0 - 8.5.7 | (Note: PHP 7.1 is EOL) | ||
7.2 | 8.4.3 - 8.5.7 | (Note: PHP 7.2 is EOL) | ||
7.3 | 8.5.0 - 8.5.7 | (Note: PHP 7.3 is EOL) | ||
7.4 | 8.5.0+ | PHP 7.4 is EOL. | ||
7.4 LTS | 8.5.0+ | |||
8+ | none | (See above:PHP 8+ requires Concrete 9.0.2 or greater.) |
- Not Possible
- Technically possible, but not currently recommended.
Recommended configuration.
LTS Versions
Since PHP 7.4 is officially end of life, it's likely it will no longer receive any security patches. Fortunately, LTS (long term support) versions of PHP are available. These are versions of PHP that have important security fixes backported to them. Concrete CMS hosting customers on end-of-life versions of PHP are automatically placed on the long-term support version of PHP. If you're hosting yourself on an end-of-life version of PHP, please strongly consider using an LTS version. Learn more about Concrete CMS and PHP LTS.
Extensions
Concrete CMS requires the following PHP extensions:
- MySQL (with PDO extensions)
- DOM
- SimpleXML
- iconv
- GD Library with Freetype
- Fileinfo
- Mbstring
- CURL
- ZipArchive (For automatic updates and community functionality)
Configuration
Concrete version 8.x requires the following configuration:
- PHP Safe Mode Off
- PHP Memory Limit at least 64 MB (more might be required for the processing and handling of large image files).
Web Server
Concrete supports both Apache and Nginx web servers, and has been made to work with IIS in the past. Official support is for Apache and Nginx only.
Database
MySQL (5.7 or higher) or MariaDB both work.
If using MySQL, ensure InnoDB tables are supported.
If possible, set the table row_format
to dynamic
to avoid problems with large forms.
Concrete Configuration Best Practices
Make sure to follow Configuration Best Practices to setup your site and harden your Concrete CMS