PrestaShop needs the following server configuration in order to run:
|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).
|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 or will reach soon their end of support.)
|5.6 minimum, a recent version is recommended.
|The more the merrier. We recommend setting the memory allocation per script (
memory_limit) to a minimum of
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.
prestashop for both).
You’ll get a web page detailing requirements and recommendations, and how your server does compared to them:
= Recommended version Yes = Supported No = Not supported
PrestaShop needs a few additions to
MySQL in order to fully work. Make sure that your
PHP configuration has the following extensions and settings configured:
|The Client URL extension is used to download remote resources like modules and localization packages.
|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.
|The File information extension is used to find out the file type of uploaded files.
|The GD extension is used to create thumbnails for the images that you upload.
|The ICONV extension is used to convert character sets.
|The Internationalization extension is used to display localized data, such as amounts in different currencies.
|The JSON extension is used to manage JSON format.
|The Multibyte string extension to perform string operations everywhere.
|The OpenSSL extension is used to improve security.
|The PHP Data Objects extension is used to connect to databases.
|The PDO_MYSQL driver is used to connect to MySQL databases.
|The SimpleXML extension is used to manage XML files.
|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
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
Composer to manage its packages. Install it here.
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.
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
Install NVM: Github Repository.