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.
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
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.
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.
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/.
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.
Supprimez le maintenance.flagfichier et vérifiez le site dans le navigateur. c'est fait.
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.
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.
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.
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.
@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
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
+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:
Magento Compilation de System> Outils> Compilation> Désactiver
Magento Cache depuis System> Gestion du cache> Tout sélectionner> Action: Désactiver> Soumettre
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.
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.
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.
Réponses:
Mise à niveau de la feuille de route pour CE 1.9.0.1 à partir de 1.7
maintenance.flag
(mais vous devriez avoir une sauvegarde quelque part) et placez tous les dossiers et fichiers de la 1.9.app/code/community
app/code/local
app/design/frontend/default/<your theme>
ouapp/design/frontend/<your package>
)app/etc/modules/
à courantapp/etc/modules/
adminhtml/default/yourtheme
.adminhtml/default/default/
(1.7) dans adminhtml / default / default / (1.9).app/js/
.app/etc/local.xml
base 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.maintenance.flag
fichier et vérifiez le site dans le navigateur. c'est fait.la source
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.
la source
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
2) Activer le mode de maintenance pour votre site Magento
Pour cela, vous devez créer un fichier vide nommé
maintenance.flag
dans votre répertoire racine Magento.3) Effacer le cache et les sessions
4) Vérifiez la compilation et désactivez-la si elle est activée
Vérifier l'état du compilateur
Si l'
Compiler Status
estDisabled
alors vous pouvez sauter cette étape et passer à l'étape suivante.Si l'
Compiler Status
estEnabled
alors vous devez le désactiver avec la commande suivante:5) Donner la permission d'écriture à tous les fichiers et dossiers Magento
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.
7) Modifiez les paramètres de configuration en stable
8) Mettre à niveau Magento
Vous pouvez lister tous les packages installés avec la commande suivante:
Vous pouvez répertorier tous les packages pouvant être mis à niveau à l'aide de la commande suivante:
La commande suivante mettra à niveau tous les packages:
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.
10) Ensuite, effacez le cache et reprenez la 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:
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
Accordez une autorisation complète en lecture-écriture, c'est-à-dire 777, à var et aux dossiers multimédias.
Accorder 550 autorisations au fichier de script shell 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.
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.
15) Désactivez le mode Maintenance pour rendre le site actif.
Cela supprimera le fichier
maintenance.flag
et 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.
la source
Assurez-vous que les extensions tierces et les personnalisations locales doivent être prises en compte, effectuez une sauvegarde appropriée.
la source
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
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
la source
Suivez ces étapes pour mettre à jour votre magasin Magento 1.7 vers Magento 1.9:
Magento Compilation de System> Outils> Compilation> Désactiver
Magento Cache depuis System> Gestion du cache> Tout sélectionner> Action: Désactiver> Soumettre
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.
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.
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.
la source