This article explains the server requirements and recommended PHP configurations for the better functioning of PrestaShop.
PrestaShop requires the following server configurations:
System: Unix, Linux or Windows. Web server: Apache Web Server 2.2 or any later version. PHP: We recommend PHP 7.1 or later MySQL: 5.0 minimum, 5.6 or later recommended. Server RAM: The more the better. We recommend setting the memory allocation per script (memory_limit) to a minimum of 256M.
PrestaShop requires the following PHP Extensions:
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. Intl. The Internationalization extension is used to display localized data, such as amounts in different currencies. Zip. The Zip extension is used to expand compressed files such as modules and localization packages.
PrestaShop requires the following PHP configurations:
register_globals = off display_errors = Off magic_quotes_gpc = Off error_reporting "E_ALL & ~E_NOTICE" memory_limit = 256M max_execution_time = 300; max_input_time = -1 max_input_vars = 30000 upload_max_filesize = 50M; post_max_size = 50M; allow_url_fopen = On allow_url_include = Off short_open_tag = On realpath_cache_size = 5M always_populate_raw_post_data = -1 safe_mode = Off expose_php = Off output_buffering = 4096
Please note that these are the basic recommendation only. More tweaks might be required depending on the environments and traffic.