PrestaShop system requirements Summary:
Web server: Apache 1.3, Apache 2.x, Nginx or Microsoft IIS
PHP 5.4+
MySQL 5.0+
PHP memory_limit 2048M
upload_max_filesize 100M
max_execution_time 1000
post_max_size 100M
max_input_time -1
PHP extensions: GD, cURL, SimpleXML, SOAP
To improve performances: MemCached, mcrypt PHP extension
Source: http://www.prestatraining.com/12-tips-to-optimise-your-php-ini-file-for-prestashop/
Memory and Size Limits
There are times when you may encounter an error because you’ve exceeded a PHP limit that is set on your server. You can increase these limits in your php.ini file.
Tip: One common limit that is exceeded is the memory limit. One case where you may encounter this limit is when you upload a full-resolution image and PHP is unable to load the entire image into memory. In this case, you could manually reduce the size of the image before uploading it, or you could increase the memory limit by searching for and changing the memory_limit setting in php.ini, or add it if it doesn’t exist:
; Set memory limit in megabytes
memory_limit = 128M
If you are using shared hosting, which is common with inexpensive hosting packages, try to set the smallest limit you can that stops the memory limit error. If you set the memory limit too high, it is possible for inefficient code to use up too much memory and cause performance issues for other users on your server. In that case, your host may shut down your account until you reduce your memory usage.
If you find yourself needing a high memory limit, it may be better for you to upgrade to a virtual private server (VPS) or a dedicated server so that you don’t have to share the server’s RAM. You can then increase the RAM as high as you like, as long as it doesn’t exceed the total RAM that is available in the server.
Tip: The other common limit that is exceeded is the maximum execution time. One case where you may encounter this limit is when you import a large number of products. Once the maximum execution time has elapsed, PHP will stop the script and display an error message. You can increase the maximum execution time by searching for and changing the max_execution_time setting in php.ini, or add it if it doesn’t exist:
; Set maximum execution time in seconds
max_execution_time = 120
Like the memory limit, if you are using shared hosting, you should try to set the shortest time you can that stops the timeout error. If you set the maximum execute time too high, it is possible for inefficient code to cause many PHP scripts to be running at the same time for an extended period, using up a lot of the server’s resources. In that case, your host may shut down your account until you reduce the number of PHP scripts that are running.
If you find yourself needing a high maximum execution time, it may be better for you to upgrade to a VPS or a dedicated server so that you don’t have to share the server’s resources.
Tip: When uploading a large product image, you may also encounter the maximum file upload size limit. In this case, you could manually reduce the size of the image, or you could increase the maximum file upload size by searching for and changing the upload_max_filesize setting in php.ini, or add it if it doesn’t exist:
; Set maximum file upload size in megabytes
upload_max_filesize = 32M
Set the value to the size of the largest product image or downloadable product you expect to upload through the Back Office. That way, you will get an error message if you accidentally upload a product image that is too high resolution. It is best to resize product images to the resolution they are displayed in the Fancybox before uploading to minimise the amount of disk space used on the server. Downloadable products should also be compressed as ZIP files to reduce the amount of space used.
Tip: Two more limits that may be encountered are the maximum post size and maximum input time. One case where you may encounter these limits is when you are saving a large number of module translations. In this case, you will need to increase the maximum post size and maximum input time by searching for the post_max_size and max input time settings in php.ini, or adding them if they don’t exist:
; Set maximum post size in megabytes
post_max_size = 32M
; Set maximum input time in seconds
max_input_time = 180
If you are using shared hosting, you should try to set the smallest values you can that stop the error messages. A value that is too high may use up too much disk space or other resources on the server, causing performance issues for other users on your server.