Legacy Documentation
You are using the documentation for version 4.3.8. Go here for the latest version.
System Requirements¶
For the best experience, ExpressionEngine requires:
Server Compatibility Wizard¶
If you’re not sure whether your server meets the minimum requirements, the server wizard will run some tests and give you an answer.
- Download and unzip the archive.
- Upload the folder to your server.
- Point your web browser to the folder. For example:
https://example.com/ee_wizard
Okay, The Bare Minimums¶
If you are stuck in an older environment, ExpressionEngine can run on PHP 5.4.0+ with 32M of memory, and MySQL 5.5.3+. PHP-FPM is also optional, but tends to handily outperform mod_php. That said, running older versions not only hurts performance—increasing the cost of your website—but also puts your site at risk of security vulnerabilities. The PHP Group stopped providing security patches for PHP 5.5 on July 21, 2016, and even 5.6 only has security support until December 31, 2018. Oracle will also cease providing security support for MySQL 5.5 at the same time.
Why not save yourself the worry and hassle, enjoy a faster and more secure site that costs less to maintain, and upgrade now? Here’s an email you can send to your host if they need a little nudge:
Hey there!
I'm running the PHP/MySQL based content management system ExpressionEngine, and would like to make sure it's speedy, secure, and making the most efficient use of the resources available on my server.
Could I speak with someone about moving to an environment that has PHP 7+ and MySQL 5.6+? If they are available, I'd love to use PHP-FPM to implement PHP, and Percona as a drop-in replacement for MySQL, too.
Thanks!
Control Panel Browser Requirements¶
ExpressionEngine’s Control Panel targets compatibility with the final-release versions of the web browsers listed here, so it’s important to keep your browser up to date. These requirements do not apply to your website, which you are 100% in control of, just ExpressionEngine’s control panel.
- Chrome
- Safari
- Firefox
- Opera
- Microsoft Edge
Note
In all cases, JavaScript must be enabled to use the Control Panel.
Details and Notes¶
You can safely ignore the rest of this page unless you are experiencing problems, or are a sysadmin setting up a custom environment. All of the following are readily available in most managed environments.
PHP Extensions Required¶
Though the following are available in PHP by default, some hosts may have them disabled until you ask for them.
- GD (or GD 2) library
- The File Information (fileinfo) PHP extension
Note
If you’re on MediaTemple you will need to create a phprc file that contains the following
extension = fileinfo.so
PHP Extensions Recommended¶
These are recommended, but not required.
- The Internationalization extension, for full functionality of variable modifiers
- Multibyte String (mbstring) handling
For full support of multibyte encodings, ask your web host or server admin to set mbstring.func_overload
to 6
in your server configuration by editing php.ini
as shown below:
; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
mbstring.func_overload = 6
MySQL Privileges¶
The MySQL user connecting to the database must have the following privileges:
SELECT
INSERT
UPDATE
DELETE
CREATE
INDEX
ALTER
DROP
Apache Server¶
If you are hosted on an Apache server, the AcceptPathInfo
option needs to be enabled for URLs to work properly. Most servers are configured this way by default, but if yours is not, you have a few options:
- Include
AcceptPathInfo On
in your.htaccess
file to enable it - Ask your web host or server admin to enable the option
- Set your site’s URLs to use query strings
URL Segment Support¶
If the Server Compatibility Wizard lists URL Segment Support as Unsupported, you will need to set your site’s URLs to use query strings.