During our PrestaShop 1.5 testing, we came upon the following error when attempting to install PrestaShop 1.5:

prestashop-an-error-occurred-during-installationConfigure shop information

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.

In this file, install/error_log, we found the following error:

[14-May-2012 13:54:30] PHP Warning:  simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 1: parser error : Space required after the Public Identifier in /home/userna5/prestashop.inmotiontesting.com/classes/LocalizationPack.php on line 41

Therefore, we reviewed this file - classes/LocalizationPack.php - and saw the problem was with the $file variable being passed here:

public function loadLocalisationPack($file, $selection, $install_mode = false)
{
if (!$xml = simplexml_load_string($file))
return false;

During our troubleshooting we emailed ourselves the $file variable (using the php mail function) and found out the problem was in this file - install/models/install.php - at line 401:

$localization_file_content = @Tools::file_get_contents('http://api.prestashop.com/download/localization/'.$version.'/'.$data['shop_country'].'.xml');

What was happening is that $localization_file_content was set to http://api.prestashop.com/download/localization/15/us.xml, however that file did not exist. At the time of this writing, that URL was resulting in a 404 error. To resolve this issue, we added the following line in install/models/install.php:

$localization_file_content = @Tools::file_get_contents('http://api.prestashop.com/download/localization/'.$version.'/'.$data['shop_country'].'.xml');
unset($localization_file_content);

The unset function deleted the variable, and therefore ran the following code, which creates the contents based upon files already stored within PrestaShop 1.5 (instead of trying to download them from api.prestashop.com - which is resulting in a 404 error)

if (!$localization_file_content)
{
$localization_file = _PS_ROOT_DIR_.'/localization/default.xml';
if (file_exists(_PS_ROOT_DIR_.'/localization/'.$data['shop_country'].'.xml'))
$localization_file = _PS_ROOT_DIR_.'/localization/'.$data['shop_country'].'.xml';
$localization_file_content = file_get_contents($localization_file);
}

Like this Article?

Login to comment.

Your Opinion Matters

... but we need to know what you're thinking!

I'm Brad Markle, your friendly Community Support technician, and I wrote the article you're looking at now. I like to think it's perfect, but I'm sure you have some suggestions. Please, let me know what they are!

Feedback
Your Email Address
Because we'd like to talk with you!

Need more Help?

Search

Ask the Community!

Get help with your questions from our community of like-minded hosting users and InMotion Hosting Staff.

Current Customers

Chat: Click to Chat Now E-mail: support@InMotionHosting.com
Call: 888-321-HOST (4678) Ticket: Submit a Support Ticket

Not a Customer?

Get web hosting from a company that is here to help. Sign up today!