Mise à niveau de Magento de 1.7 à 1.9

43

Je dois mettre à niveau mon magasin Magento de 1.7 à 1.9. Je suis très nouveau dans Magento, SSH et MySQL. Je me demandais simplement quel était le moyen le plus simple de mettre à niveau sans casser mon site Web.

Adam Allen
la source
2
Ce que Praful a écrit est trop court. Vous pouvez avoir beaucoup de problèmes avec les extensions, votre thème, les parties manquantes dans le thème, en particulier tous les form_keys de la version 1.8. Vraiment, si vous ne connaissez pas vos outils, soyez très prudent et n'essayez pas sur votre environnement en direct!
Fabian Blechschmidt
J'ai créé un clone de mon site Web via cpannel (appelé: senore.com/ecommerce), puis j'ai mis à niveau le site clone. site Web (senore.com) aucun des liens ne fonctionne, il suffit de dire 404 erreur et je dois ajouter le "/ ecommerce" pour afficher les pages. Une idée pourquoi ??
Adam Allen
Bonjour Adam, Comme je le pense, vous n'avez pas créé non plus de clone de base de données. Pour la même chose, vous devez exécuter le site Web d'origine sur une ancienne base de données et le nouveau magento 1.9 sur une base de données nouvellement créée. Les deux sites Web fonctionnent donc simultanément
Praful S Zaru
Près de 25 000 vues et seulement 4 votes en plus!?!?!?!?!?! ??
SR_Magento
Honnêtement, la meilleure option pour engager un fournisseur de services de mise à niveau professionnel de Magento, tel que magecomp.com/magento-upgrade-service.html
Gaurav Jain

Réponses:

50

Mise à niveau de la feuille de route pour CE 1.9.0.1 à partir de 1.7

  1. Faites une sauvegarde de la base de données actuelle et du code 1.7 actuel. placez le fichier maintenance.flag dans le dossier de code 1.7 pour mettre le site Web hors ligne.
  2. Téléchargez le dernier magento à partir du site http://www.magentocommerce.com/download
  3. Supprimez tous les dossiers et fichiers de votre code 1.7 sauf maintenance.flag(mais vous devriez avoir une sauvegarde quelque part) et placez tous les dossiers et fichiers de la 1.9.
  4. Maintenant, à partir de votre version 1.7, fusionnez vos dossiers personnalisés suivants dans la version 1.9.
    • Communauté app/code/community
    • Local app/code/local
    • Médias
    • votre thème ou forfait ( app/design/frontend/default/<your theme>ou app/design/frontend/<your package>)
    • dossiers personnalisés à partir de la peau (à la fois pour adminhtml et frontend).
    • copier vos fichiers XML personnalisés de app/etc/modules/à courantapp/etc/modules/
    • tout dossier de thème admin personnalisé à partir de adminhtml/default/yourtheme.
    • copiez vos dossiers personnalisés de adminhtml/default/default/(1.7) dans adminhtml / default / default / (1.9).
    • fichiers js personnalisés, le cas échéant app/js/.
  5. Maintenant, allez à la app/etc/local.xmlbase de données .Edit. Détails leur.put votre nom d'utilisateur de base de données et mot de passe et nom de base de données.
  6. Supprimez le maintenance.flagfichier et vérifiez le site dans le navigateur. c'est fait.
Pradeep Sanku
la source
2
N'oubliez pas la clé de cryptage de l'ancienne version. Lors de la mise à niveau du site vers une nouvelle installation, veillez à utiliser la même clé de cryptage
Mohamed23gharbi
Cette méthode fonctionne assez bien pour moi. Certaines extensions devront cependant être réinstallées.
Yldziner
12
Je dirais que ce n'est pas un guide complet sur la façon de le faire. Cela fonctionnera dans certains cas spécifiques, mais si votre thème personnalisé a changé la page de connexion par exemple, vos clients ne pourront plus se connecter. Voir: stackoverflow.com/questions/20565688/… De même, mentionner maintenance.flag suggère que c'est bien de le faire en direct. Ne mettez jamais Magento à niveau sur un environnement réel. Testez toujours d'abord sur un dev / staging pour attraper des cas comme celui que j'ai mentionné, car il y a tellement plus qui peut mal tourner.
Wiktor Jarka
1
N'oubliez pas non plus d'ajouter les formkeys au nouveau modèle, sinon vous ne pourrez utiliser aucun des formulaires. Voir stackoverflow.com/a/20702053/564338 pour plus d'informations.
Daniel West
7

Tout d’abord, créez la même base de données que la version actuelle de magento 1.7. Puis téléchargez magento 1.9.0.1 à partir de http://www.magentocommerce.com/download

Maintenant lancez l'installation de magento 1.9 et choisissez la base de données de votre ancien site web (magento 1.7.0.2)

Maintenant, vous pouvez prendre votre thème et votre peau de l'ancienne version à la nouvelle. Puis, après vérification, une extension tierce tierce, de l’ancien au nouveau. Je l'ai fait et ça marchera pour moi.

Praful S Zaru
la source
4

Instructions de mise à niveau de Magento 1.x à l'aide de SSH ou de la ligne de commande:

1) Allez dans votre répertoire racine Magento

cd /path/to/your/magento/folder

2) Activer le mode de maintenance pour votre site Magento

Pour cela, vous devez créer un fichier vide nommé maintenance.flagdans votre répertoire racine Magento.

touch maintenance.flag

3) Effacer le cache et les sessions

rm -rf var/cache/* var/session/*

4) Vérifiez la compilation et désactivez-la si elle est activée

Vérifier l'état du compilateur

php -f shell/compiler.php -- state

Si l' Compiler Statusest Disabledalors vous pouvez sauter cette étape et passer à l'étape suivante.

Si l' Compiler Statusest Enabledalors vous devez le désactiver avec la commande suivante:

php -f shell/compiler.php -- disable

5) Donner la permission d'écriture à tous les fichiers et dossiers Magento

chmod -R 777 .

6) Donnez 550 fichier de mage de permission

Le fichier Mage est un fichier de script shell. Avec 550 autorisations, nous rendons simplement le fichier non-inscriptible + lisible et exécutable par utilisateur et groupe uniquement.

chmod 550 ./mage

7) Modifiez les paramètres de configuration en stable

./mage config-set preferred_state stable

8) Mettre à niveau Magento

Vous pouvez lister tous les packages installés avec la commande suivante:

./mage list-installed

Vous pouvez répertorier tous les packages pouvant être mis à niveau à l'aide de la commande suivante:

./mage list-upgrades

La commande suivante mettra à niveau tous les packages:

./mage upgrade-all --force

La mise à niveau prendra un certain temps.

9) Réindexer des données

Une fois la mise à niveau terminée, nous devrions réindexer toutes les données.

php shell/indexer.php reindexall

10) Ensuite, effacez le cache et reprenez la session.

rm -rf var/cache/* var/session/*

11) Activer la compilation uniquement si elle était activée avant la mise à niveau

Vérifiez l'étape 4) ci-dessus.

Si la compilation n'a pas été activée à l'étape 4), vous pouvez ignorer cette étape et passer à l'étape suivante.

Si la compilation a été activée pour votre site Web et que vous l'avez désactivé à l'étape 4), vous devez l'activer à l'aide de la commande suivante:

php -f shell/compiler.php -- enable

12) Modifier l'autorisation de fichiers

Avant la mise à niveau, nous avons modifié l'autorisation de tous les fichiers et dossiers en 777. Vous devez également accorder les autorisations appropriées à tous les fichiers et dossiers de votre site Magento.

Convertir les autorisations de fichiers en 644 et les autorisations de dossiers en 755

find . -type f -exec chmod 644 {} \; && find . -type d -exec chmod 755 {} \;

Accordez une autorisation complète en lecture-écriture, c'est-à-dire 777, à var et aux dossiers multimédias.

chmod -R 777 var media

Accorder 550 autorisations au fichier de script shell mage

chmod 550 ./mage

13) Vérifier la version des packages installés

Vérifiez les versions des packages installés. Les paquets devraient montrer la dernière version car ils sont déjà mis à jour maintenant.

./mage list-installed

14) Liste des paquets pouvant être mis à jour

Répertoriez les paquets pouvant être mis à niveau (paquets nécessitant une mise à niveau). Cela devrait entraîner un message indiquant Aucune mise à niveau disponible, car tous les packages ont déjà été mis à niveau vers la dernière version.

./mage list-upgrades

15) Désactivez le mode Maintenance pour rendre le site actif.

rm -f maintenance.flag

Cela supprimera le fichier maintenance.flaget le site sera de nouveau en ligne.

Vous pouvez maintenant vous connecter à l'administrateur de Magento et voir la version de Magento affichée dans la section de pied de page. Il devrait montrer le dernier numéro de version.

Source: Magento 1.x - Mise à jour / Mise à niveau vers la dernière version via le navigateur et la ligne de commande

Mukesh Chapagain
la source
3
Current Version Magento CE 1.7.0.2

Admin panel -> System -> Magento Connect -> Magento Connect Manager

Check for Upgrades

Mage_All_Latest -> select Upgrade to 1.9.0.1 

Assurez-vous que les extensions tierces et les personnalisations locales doivent être prises en compte, effectuez une sauvegarde appropriée.

TBI Infotech
la source
17
N'utilisez jamais Magento Connect Manager ... Cela pose de nombreux problèmes ...
Simon
1
De plus, lors de la mise à niveau avec Connect, vous ne saurez pas quelles modifications il a apportées.
Mohamed23gharbi
1
@Simon (ou quelqu'un d'autre) pourriez-vous clarifier votre déclaration, peut-être avec des sources? J'ai fait une mise à niveau de test de 1.7 à 1.9 tout fonctionne bien.
Akif
@ Akif simplement Google pour cela. Voir par exemple integer-net.com/… ou magento.stackexchange.com/q/40359/142 .
Simon
1
@Simon merci, je ne vois pas pourquoi on ne devrait pas l'utiliser en se basant sur les arguments du premier lien, sachant que l'on sait ce qu'il fait. Pour les non professionnels, je pense que la plupart des arguments sont valables. J'espère que cela clarifie votre déclaration avec +12 pour référence future. Cela devrait être plus comme; "Ne l'utilisez pas si vous ne savez pas ce que vous faites".
Akif
1

Pourquoi quiconque ne suggère-t-il pas le moyen le plus simple - comme le demande la question?

Il suffit d'aller à System >> Configuration >> Connect Manager

et utiliser la clé http://connect20.magentocommerce.com/community/mage_all_latest

Magento1 Connect Manager

et si vous avez besoin d'une version spécifique, vous pouvez la télécharger et la télécharger en tant que package dans le même magento connect

Mise à niveau du paquet Magento Connect Manager

Kumar A.
la source
+1 C’est littéralement comment je mets à jour nos trois installations distinctes de Magento. Si je n'avais pas tout passé en revue et tout testé, cela prendrait peut-être 20 secondes pour chaque mise à jour. Nous avons commencé avec 1.7 et avons facilement (mis à part les form_keys pour 1.8) mis à jour progressivement à 1.9.4.0. Il suffit de vider les répertoires pkginfo / et var / package avant de commencer le processus de mise à jour via Magento Connect.
MagentoAaron le
0

Suivez ces étapes pour mettre à jour votre magasin Magento 1.7 vers Magento 1.9:

  1. Magento Compilation de System> Outils> Compilation> Désactiver

  2. Magento Cache depuis System> Gestion du cache> Tout sélectionner> Action: Désactiver> Soumettre

  3. Supprimez tous les fichiers et dossiers de votre répertoire Magento v1.7 (assurez-vous de conserver votre sauvegarde en lieu sûr) et placez tous les fichiers et dossiers du paquet Magento v1.9.x.

  4. Ouvrez votre navigateur Web préféré, accédez à votre lien. Vous serez invité à installer une nouvelle boutique Magento v1.9.x, mais ne vous inquiétez pas, continuez et rendez-vous sur la page de configuration. Remplissez-le avec les mêmes informations que vous avez utilisées pour votre précédent magasin Magento v1.7, notamment le nom d'hôte du serveur SQL DB, le nom SQL DB, le nom d'utilisateur SQL Server, le mot de passe SQL Server, l'URL de base et le chemin d'accès administrateur.

  5. Une fois l'installation terminée, ne visitez pas la page frontend ou backend. À partir de la sauvegarde de fichiers et de dossiers Magento v1.7, copiez et fusionnez les fichiers et les dossiers suivants dans votre nouveau répertoire de magasin Magento v1.9.x:

    • Dossier Communauté: ROOT> app> code> communauté

    • Dossier local: ROOT> app> code> local

    • Dossier de média dans le répertoire racine: ROOT> media

    • Votre dossier de thème: ROOT> app> design> frontend> default (nom du paquet)> “your_theme” (Si vous utilisez le paquet “default” pour votre thème, copiez simplement le dossier du thème, sinon vous devez copier tout le paquet contenant votre thème. dossier)

    • Dossier Skin dans le répertoire racine: ROOT> skin

    • Fichiers XML personnalisés du module: ROOT> app> etc> modules> “your_custom_XML_files”

    • Dossier thématique administrateur: ROOT> app> conception> adminhtml> par défaut

    • Dossier JS personnalisé: ROOT> app> js

    • Enfin, supprimez enfin tout le contenu de ROOT> var> cache et de ROOT> var> sessions pour effacer toutes les sessions et le cache.

Syed Muneeb Ul Hasan
la source