Jump to content

Plantage complet de la mise a à jour 1.7.5.0 vers 1.7.6.0


Recommended Posts

Bonjour,

Je viens de tenter sur un serveur test une mise à jour en 1.7.6.0.. et bien pour moi c'est plantage complet !

Je n'ai même plus accès au back office pour faire un restaure de la 1.7.5.0.

Avant de tout réinstaller quelqu'un aurait-il une idée ? J'avoue être à la limite de mes cométences là !

Voici la liste des erreurs :

Quote

 

[INTERNAL] /var/www/vhosts/xxx.fr/httpdocs/admin506/autoupgrade/latest/install/upgrade/php/ps_1760_copy_data_from_currency_to_currency_lang.php line 55 - Error: Call to a member function get() on null #0 [internal function]: ps_1760_copy_data_from_currency_to_currency_lang()

#1 /var/www/vhosts/xxx.fr/httpdocs/modules/autoupgrade/classes/UpgradeTools/CoreUpgrader/CoreUpgrader.php(372): call_user_func_array('ps_1760_copy_da...', Array)

#2 /var/www/vhosts/xxx.fr/httpdocs/modules/autoupgrade/classes/UpgradeTools/CoreUpgrader/CoreUpgrader.php(340): PrestaShop\Module\AutoUpgrade\UpgradeTools\CoreUpgrader\CoreUpgrader->runPhpQuery('1.7.6.0', '/* PHP:ps_1760_...')

#3 /var/www/vhosts/xxx.fr/httpdocs/modules/autoupgrade/classes/UpgradeTools/CoreUpgrader/CoreUpgrader.php(264): PrestaShop\Module\AutoUpgrade\UpgradeTools\CoreUpgrader\CoreUpgrader->runQuery('1.7.6.0', '/* PHP:ps_1760_...')

#4 /var/www/vhosts/xxx.fr/httpdocs/modules/autoupgrade/classes/UpgradeTools/CoreUpgrader/CoreUpgrader17.php(52): PrestaShop\Module\AutoUpgrade\UpgradeTools\CoreUpgrader\CoreUpgrader->upgradeDb('1.7.5.0')

#5 /var/www/vhosts/xxx.fr/httpdocs/modules/autoupgrade/classes/UpgradeTools/CoreUpgrader/CoreUpgrader.php(81): PrestaShop\Module\AutoUpgrade\UpgradeTools\CoreUpgrader\CoreUpgrader17->upgradeDb('1.7.5.0')

#6 /var/www/vhosts/xxx.fr/httpdocs/modules/autoupgrade/classes/TaskRunner/Upgrade/UpgradeDb.php(41): PrestaShop\Module\AutoUpgrade\UpgradeTools\CoreUpgrader\CoreUpgrader->doUpgrade()

#7 /var/www/vhosts/xxx.fr/httpdocs/admin506/autoupgrade/ajax-upgradetab.php(52): PrestaShop\Module\AutoUpgrade\TaskRunner\Upgrade\UpgradeDb->run()

#8 {main}

 

Merci

Link to comment
Share on other sites

Votre upgrade à planter sur ce fichier https://github.com/PrestaShop/PrestaShop/blob/develop/install-dev/upgrade/php/ps_1760_copy_data_from_currency_to_currency_lang.php

Apparemment le container ne s'est pas initialisé ou le service n'a pas été trouvé.

Ce que vous avez donné, ce sont les erreurs lors de la mise à jour, lorsque vous essayez d'accéder au back office, avez vous d'autres erreurs ?

Je n'ai pas encore essayé de faire une mise à jour sur mes boutiques, j'attends généralement plusieurs jours pour voir si les retours sont bons.

Edited by Janett (see edit history)
Link to comment
Share on other sites

Bonjour,
Désolé pour ma réponse tardive.
Oui j'ai une erreur 500 aussi bien sur le back office que l'URL principale.

Je n'ai qu'un seul serveur sur lequel sont mes sites, donc pas moyen de tester sur un autre.

Link to comment
Share on other sites

Voila donc le retour du mode debug.

Alors pour la base de donnée j'ai vérifié elle est bien présente et je ne comprend pas pourquoi il ne la trouve pas.
Merci en tout cas pour votre aide !

 

[PrestaShopDatabaseException]

Table 'RUPc_1002.ps_shop_url' doesn't exist
 

SELECT s.id_shop, CONCAT(su.physical_uri, su.virtual_uri) AS uri, su.domain, su.main FROM ps_shop_url su LEFT JOIN ps_shop s ON (s.id_shop = su.id_shop) WHERE (su.domain = 'xxx.fr' OR su.domain_ssl = 'xxx.fr') AND s.active = 1 AND s.deleted = 0 ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC


at line 769 in file classes/db/Db.php

764. if ($webservice_call && $errno) { 765. $dbg = debug_backtrace(); 766. WebserviceRequest::getInstance()->setError(500, '

 ' . $this->getMsgError() . '. From ' . (isset($dbg[3]['class']) ? $dbg[3]['class'] : '') . '->' . $dbg[3]['function'] . '() Query was : ' . $sql, 97); 767. } elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) { 768. if ($sql) { 769. throw new PrestaShopDatabaseException($this->getMsgError() . '<br /><br /><pre>' . $sql . '</pre>'); 770. } 771. 772. throw new PrestaShopDatabaseException($this->getMsgError()); 773. } 774. }


DbCore->displayError - [line 385 - classes/db/Db.php] - [1 Arguments]

DbCore->query - [line 613 - classes/db/Db.php] - [1 Arguments]

DbCore->executeS - [line 345 - classes/shop/Shop.php] - [1 Arguments]

ShopCore::initialize - [line 119 - config/config.inc.php]

require - [line 27 - index.php] - [1 Arguments]

Edited by lephot (see edit history)
Link to comment
Share on other sites

Bon c'est vrai que j'avais pas été plus loin que de voir si la table existait.

En fait il m'a détruit la BDD. Je n'ai plus que 7 tables dedans au lieu des 81 normalement !

Bon je ne vais pas me faire C.... plus longtemps je réinstalle un backup complet manuellement !
Mais pour info le restore dans Prestashop ne fonctionne pas non plus !

 

Link to comment
Share on other sites

Normal tu as plus rien pour la restauration.
Effectivement avec ton hébergeur tu as une sauvegarde.
Dans ce cas récupère la sauvegarde puis voila. 
Ensuite refait la mise à jours.
Si tu n'y arrive pas envoi en mp un accès bo & des identifiants je peu tenté de te le faire.

Link to comment
Share on other sites

  • 5 weeks later...

Salut,

Je ne sais pas si tu essayes toujours de mettre à jour ta boutique, mais j'ai eu le même problème lors de la mise à jour manuelle (dans mon cas de PHP 1.6.1.15 vers 1.7.6.0), et je viens de trouver la solution ici :
https://github.com/PrestaShop/PrestaShop/pull/14620/commits/b00b69060996cb9581f38c19171a1458b9e5971f

Ils ont trouvé un bug (il y a seulement 20 jours, c'est tout frais) dans le fichier 'install/upgrade/upgrade.php', qui ne charge pas correctement le kernel Symfony.
Il faut rajouter des includes dans le fichier (voir le lien ci-dessus pour le diff)

Dans mon cas ca a marché 🙂

Pour éviter d'être de nouveau confronté au même problème (récupérer prestashop après un plantage lors de l'upgrade est souvent impossible), je te conseille de simplement faire une copie complète de ton dossier "www" (la racine de ton presta), et du dossier data de mysql (habituellement /var/lib/mysql) avant de lancer la mise à jour. En cas de plantage, tu stoppes les serveurs apache et mysql, tu remplaces les répertoires corrompus avec les originaux sauvegardés (n'oublie pas de refaire un 'chown' pour remettre les droits des fichiers comme à l'origine), tu relances les serveurs et hop c'est reparti !

Bien à toi,
-- Arnaud Dohogne (AD-DEV)

Link to comment
Share on other sites

  • 1 month later...

seule solution efficace trouvée   pour une mise à jour de 1.7.5.1 vers 1.7.6.1 

passer en mode de mise à jour "repertoire"

charger dans le repertoire autoupgrade/latest les fichiers de la 1.7.6.1

commenter dans le fichier install/upgrade/php/ps_1761_update_currencies.php lignes 50 à 66

commenter dans le fichier install/upgrade/php/ps_1760_copy_data_from_currency_to_currency_lang.php lignes 54 à 59

visiblement la ligne  $container = SymfonyContainer::getInstance();  ne retourne pas le bon élement... 

 

c'est pas joli-joli mais ça a marché

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...