PrestaShop needs the following server configuration in order to run:
Requirement | Configuration |
---|---|
Web server | Apache Web Server 2.4 or any later version. (Although compatible, Apache Web Server 2.2 is not recommended since it reached its EOL in 2018). |
PHP | We recommend PHP 8.1. See the compatibility chart below for more details. (Although compatible, PHP 7.2.5 to 8.0 are not recommended since they reached their end of support.) |
SQL | MySQL 5.6 minimum or MariaDB 10.0 minimum, a recent version is recommended. |
Server RAM | The more the merrier. We recommend setting the memory allocation per script (memory_limit ) to a minimum of 256M . |
PrestaShop works best in Unix-based systems such as Linux and macOS, and while Windows might work, it is not actively supported.
You can use our system requirements tool to easily check if your environment fulfills PrestaShop’s requirements. Here’s how:
phppsinfo.php
file to your server and put it inside your current shop’s directory or the one where you intend to install it.http://your-domain.com/path-to-your-prestashop/phppsinfo.php
).prestashop
for both).You’ll get a web page detailing requirements and recommendations, and how your server does compared to them:
PHP Version | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
PrestaShop Version | ≤ 7.1 | 7.2 | 7.3 | 7.4 | 8.0 | 8.1 | ≥ 8.2 | |||||
8.0~8.2 | No | Yes | Yes | Yes | Yes | Recommended version | No |
Legend:
= Recommended version Yes = Supported No = Not supported
PrestaShop needs a few additions to PHP
and MySQL
in order to fully work. Make sure that your PHP
configuration has the following extensions and settings configured:
Extension | Description |
---|---|
CURL. | The Client URL extension is used to download remote resources like modules and localization packages. |
DOM | The DOM extension is needed to parse XML documents. PrestaShop uses it for various functionalities, like the Store Locator. It is also used by some modules, as well as the pear_xml_parse library. |
Fileinfo | The File information extension is used to find out the file type of uploaded files. |
GD | The GD extension is used to create thumbnails for the images that you upload. |
Iconv | The ICONV extension is used to convert character sets. |
Intl | The Internationalization extension is used to display localized data, such as amounts in different currencies. |
JSON | The JSON extension is used to manage JSON format. |
Mbstring | The Multibyte string extension to perform string operations everywhere. |
OpenSSL | The OpenSSL extension is used to improve security. |
PDO | The PHP Data Objects extension is used to connect to databases. |
PDO (MySQL) | The PDO_MYSQL driver is used to connect to MySQL databases. |
SimpleXML | The SimpleXML extension is used to manage XML files. |
Zip | The Zip extension is used to expand compressed files such as modules and localization packages. |
allow_url_fopen
enabled. This directive enables PrestaShop to access remote files, which is an essential part of the payment process, among others things. It is therefore imperative to have it set to On
.Here is a section of the php.ini
file (the configuration file for PHP):
extension = php_mysql.dll
extension = php_gd2.dll
allow_url_fopen = On
allow_url_include = Off
PrestaShop uses Composer
to manage its packages. Install it here.
PrestaShop uses NPM
to manage frontend dependencies and Webpack
to compile them into static assets.
You only need NodeJS 14.x
(version 16.x
is recommended, you can get it here), and NPM
will take care of it all.
NVM
is Node Version Manager
, it allows you to quickly switch between NodeJS
versions on your machine.
It will help you switch between NodeJS
versions for Back Office or Front Office developement in PrestaShop (which uses different versions of NodeJS
).
Install NVM: Github Repository.