Dot All Lisbon – the official Craft CMS conference – is happening September 23 - 25.
Requirements
You can use the official server check script to quickly find out if your server meets Craft’s requirements.
Minimum System Specs
- PHP 8.0.2+
- MySQL 5.7.8+ with InnoDB, MariaDB 10.2.7+, or PostgreSQL 10+
- 256MB+ memory allocated to PHP
- 200MB+ free disk space
- Composer 2.0+
Recommended System Specs
- PHP 8.1+
- MySQL 5.7.8+ with InnoDB, or PostgreSQL 10+
- 512MB+ of memory allocated to PHP
- 200MB+ of free disk space
Required PHP Extensions
- BCMath
- ctype
- cURL
- GD or ImageMagick
- iconv
- Intl
- JSON
- Multibyte String
- OpenSSL
- PCRE
- PDO MySQL Driver or PDO PostgreSQL Driver
- PDO
- Reflection
- SPL
- Zip
- DOM
We recommend ImageMagick over GD for expanded image handling options.
Optional PHP Methods and Configurations
Some shared hosting environments disable certain common PHP methods and configurations that affect Craft features.
- allow_url_fopen must be enabled for updating and installing plugins from the Plugin Store.
- proc_* methods must be enabled in order to utilize the Plugin Store, install updates, and send emails.
- ignore_user_abort must be enabled for the default, web-based queue runner to operate.
Permissions
For Craft to run properly, PHP needs to be able to write to the following files and folders:
.env
composer.json
composer.lock
config/license.key
config/project/*
storage/*
vendor/*
web/cpresources/*
The exact permissions depend on the relationship between the system user that PHP runs as and the owner of the folders and files:
- If they’re the same user, use
744
(rwxr--r--
). - If they’re in the same group, use
774
(rwxrwxr--
). - If neither of the above options describe your setup, something may have been misconfigured. Consider reaching out to your system administrator for support.
Specifics may vary from platform to platform or host to host! Consult your development or hosting environment’s documentation for more information.
Never set permissions to 777
in a shared environment or on a live site, and never run your HTTP server (or PHP) as root
.
Required Database User Privileges
The database user you tell Craft to connect with must have the following privileges:
MySQL/MariaDB
SELECT
INSERT
DELETE
UPDATE
CREATE
ALTER
INDEX
DROP
REFERENCES
LOCK TABLES
PostgreSQL
SELECT
INSERT
UPDATE
CREATE
DELETE
REFERENCES
CONNECT
Control Panel Browser Requirements
Craft’s control panel requires a browser that supports JavaScript modules.
Windows and macOS
- Firefox 67+
- Chrome 63+
- Safari 11.1+
- Edge 79+
Mobile
- iOS: Safari 11+
- Android: Chrome 81+ or Firefox 68+
Craft’s control panel browser requirements are independent from those of your site’s front-end. Ultimately, Craft is only concerned with delivering hypermedia—how you choose to enhance that with JavaScript and CSS is entirely up to you!