A Prestashop parse error happens when we install Prestashop 1.7 or above or accessing the admin panel of the store.
Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to perform related Prestashop queries.
In this context, we shall look into ways to troubleshoot and resolve this error.
We can expect this error in two situations.
a. Recently one of our customers went ahead with the creation of a database, with all right. In addition, he unzipped the downloaded file and uploaded index.php, Install_PrestaShop.html, and prestashop.zip.
The major cause for this can be the following:
1. Missing lock
2. Outdated PHP version
However, when he opens the page, the installation does not start. Instead, it shows an error stating:
Parse error: syntax error, unexpected ‘[‘, expecting ‘)’ in /home/user/public_html/XX-MY-PATH/index.php on line 40
b. Similarly, we come across this error when we log in to the Prestashop admin panel:
PHP Parse error: syntax error, unexpected ‘finally’ (T_STRING), expecting catch (T_CATCH) in /home/…………………./public_html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php on line 201
We need to ensure that there is no missing parenthesis in the mentioned file.
In addition, we need to update the PHP version for the admin folder.
This can be done from the control panel.
For example, in cPanel, we can update PHP as follows:
1. Log in to hosting cPanel.
2. Locate the MultiPHP Manager tool in the Software section of cPanel.
3. Click the checkbox for the domain(s) that we want to adjust.
4. Then from the PHP Version drop-down menu, select the PHP version that best suits site code.
5. Finally, click the blue Apply button to save the change.
In order to view PHP Version in cPanel, our we suggest the below steps:
1. Log into cPanel.
2. Under General Information on the right panel, click Server Information.
3. Under the Item column, find PHP Version.
4. In the Detail column, note the version number.
This article covers ways to resolve Prestashop parse error.
Basically, Prestashop parse error happens when we install Prestashop 1.7 or above or accessing the admin panel of the store.
To fix this error:
1. You can start with emptying your cache by deleting the /var/cache directory.
If that doesn't work copy lines 28-30 from another shop and save it.
2. Also you can try to remove the following:
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php72” package as the default “PHP” programming language.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php72 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
From end of .htaccess.
Just to be sure if that is not source of issues.