While installing PrestaShop I encountered following error:
- Create file parameters
- Create database tables
- Create default store and languages
An error occurred during installation…
You can use the links on the left column to go back to the previous steps, or restart the installation process by clicking here.
- 1: HTTP 500 – error –
Oops! An Error OccurredThe server returned a “500 Internal Server Error”.
Something is broken. Please let us know what you were doing when this error occurred.
We will fix it as soon as possible. Sorry for any inconvenience caused.

Debugging – Step 1
This is my first time ever to install PrestaShop and being a php script I thought it would be easy sailing but no, like rest of every other fucking php script it also ended up in being PITA.
The first debugging point, obviously, was to check if my web host satisfied all the requirements for PrestaShop. Luckily there is an script to check that,
https://github.com/PrestaShop/php-ps-info
There were few issues with the host which I resolved to get 100% satisfaction.
General information & PHP/MySQL Version
# | Required | Recommended | Current |
---|---|---|---|
Web server | Apache | ||
PHP Type | CGI with Apache Worker or another webserver | ||
PHP Version | 7.1 | 8.1 | 8.4.8 |
MySQLi Extension | 5.5 | 8.0 | mysqlnd 8.4.8 |
Internet connectivity (Prestashop) | No | Yes | Yes |
PHP Configuration
# | Required | Recommended | Current |
---|---|---|---|
allow_url_fopen | Yes | Yes | Yes |
expose_php | No | No | No |
file_uploads | Yes | Yes | Yes |
register_argc_argv | No | No | Yes |
short_open_tag | No | No | Yes |
max_input_vars | 1000 | 5000 | 5000 |
memory_limit | 64M | 256M | 256M |
post_max_size | 16M | 128M | 128M |
upload_max_filesize | 4M | 128M | 128M |
set_time_limit | Yes | Yes | Yes |
PHP Extensions
# | Required | Recommended | Current |
---|---|---|---|
BCMath Arbitrary Precision Mathematics | No | Yes | Yes |
Client URL Library (Curl) | Yes | Yes | Yes |
Image Processing and GD | Yes | Yes | Yes |
Image Processing (ImageMagick) | No | Yes | Yes |
Human Language and Character Encoding Support (Iconv) | Yes | Yes | Yes |
Internationalization Functions (Intl) | Yes | Yes | Yes |
Memcache | No | No | No |
Memcached | No | Yes | Yes |
Multibyte String (Mbstring) | Yes | Yes | Yes |
OpenSSL | Yes | Yes | Yes |
File Information (Fileinfo) | Yes | Yes | Yes |
JavaScript Object Notation (Json) | Yes | Yes | Yes |
PDO and MySQL Functions | Yes | Yes | Yes |
SimpleXML | Yes | Yes | Yes |
PHP-DOM and PHP-XML | Yes | Yes | Yes |
Zip | Yes | Yes | Yes |
Directories
# | Is Writable |
---|---|
var/cache | Yes |
var/logs | Yes |
img | Yes |
mails | Yes |
modules | Yes |
translations | Yes |
upload | Yes |
download | Yes |
override | Yes |
app/config | Yes |
app/Resources/translations | Yes |

It still didn’t fix the issue.
Debugging – Step 2
Googling and Ai-ing didn’t help. Now one has any fucking clue how to fix this issue and there are very few, not more than 2 or 3, posts regarding this issue, all of them talk of bullshit like check the file/directory permissions, .htaccess etc. Upon checking and verifying I didn’t find any issue with file/directory permissions so anyone saying there are file/directory permissions is totally crap.
Debugging – Step 3
In the file config/defines.inc.php change debug to true
if (!defined('_PS_MODE_DEV_')) {
define('_PS_MODE_DEV_', true);
}
It didn’t help as it didn’t display any additional info.
Debugging – Step 4 – Install using different browsers, Google Chrome (no extensions) etc
This is perhaps the biggest bullshit I’ve come across where some idiots say that they have been able to install successfully by using Google Chrome (no extensions), Google Chrome Incognito mode or different browser.
For me it didn’t work.
Debugging – Step 5 – Upload files via cPanel File Explorer
Few other suggested to upload files using cPanel File explorer instead of FileZilla, there may be some truth to this solution as FileZilla may fuck up with file permissions but we have to upload only two files index.php and zipped install files.
Tried this solution as well, didn’t work.
Debugging – Step 6 – Change index.php and install/index.php permissions
Change these two file permissions to 755.
Change install directory permission to 755.
Didn’t work.
The Solution
After wasting almost full day I finally found solution which fixed above problem.
The solution is to select USA as country from the country drop down during installation. I was selecting UK that is why it gave error. After installation you can change country back to the UK.
For some fucked up reason selecting any other country than USA is giving trouble during installation.
Leave a Reply