web-dev-qa-db-fra.com

Comment faire une réinstallation manuelle de Joomla! Core sans perdre des extensions?

Le site Web est brisé après la mise à jour, le noyau Joomla est corrompu, des erreurs fatales php sont générées, le moteur n'est pas accessible ou la réinstallation du programme ne fonctionne pas et il n'y a pas de sauvegarde du site. Comment puis-je réinstaller manuellement Joomla core sur un site Web existant?

Il s’agit d’une question/réponse pour tous les types de questions soulevant les problèmes susmentionnés, afin de documenter la situation dans laquelle une réinstallation manuelle est nécessaire et peut servir de référence pour l’avenir. La réponse ci-dessous est la même que celle que j'ai postée récemment sur une autre question: Classe 'JInput' introuvable après la mise à jour vers 3.7.

N'importe qui peut ajouter des points plus importants sur d'autres réponses ou améliorer celle affichée ci-dessous.

1
FFrewin

Il semble que votre Joomla! l'instance est corrompue. Étant donné que l’administration de Joomla n’aide pas à la réinstallation, je vous suggère d’effectuer une analyse complète de Joomla! Réinstallation manuelle de base/remplacement du package.

Remarque: cela fonctionnera probablement mieux dans un clone local du site Web sur votre bureau. En général, évitez de le faire directement sur le site Web en direct.

Créez un nouveau Joomla! Noyau sur un site web existant:

  • Téléchargez votre Joomla! version complète stable (version 3.7.3) de joomla.org

  • Décompressez

  • Commencez à remplacer tout ce que Joomla! noyau dans votre instance.

  • Ouvrez côte à côte les 2 dossiers où se trouvent votre site-clone et le package Joomla frais décompressé.

Site administrateur

Naviguez dans chacun des sous-dossiers du site d'administration:

a. Composants, modules, dossiers inclus.

  • Sélectionnez tout et copiez les * sous-dossiers/sous-contenus de Joomla! des dossiers ci-dessus et coller sur votre site. Laissez-le remplacer tous les éléments existants.

    * sous-dossiers = chaque composant principal, dossier de module et fichiers - voir la capture d'écran

    Selecting all admin components

b. Aide, Manifestes, Dossier Langues

  • Vous n'aurez probablement besoin de rien remplacer pour ces dossiers, mais dans ce cas, sélectionnez le contenu de leurs sous-dossiers, copiez-les et collez-les dans l'instance de votre site. (par exemple, pour les langues, copiez le contenu du dossier principal de la langue en-EN et collez-le sur votre site - remplacez les existants).

c. Modèles

  • À moins que des modèles ne soient remplacés, vous pouvez copier/coller tout le dossier des modèles. Si vous avez des remplacements, sauvegardez-les quelque part avant de remplacer les modèles et replacez-les à leur emplacement précédent sur les nouveaux modèles.

Site frontal

Naviguez dans chacun des sous-dossiers du site:

a. bin, cli

  • Sélectionnez tout et copiez les fichiers de ces dossiers à partir de fichiers Joomla! des dossiers ci-dessus, et coller à l'instance de votre site. Laissez-le remplacer tous les éléments existants.

b. Comprend, Layouts

  • Copiez tous les dossiers et remplacez-les sur l'instance de votre site.

c. Composants, bibliothèques, supports, modules

  • Copiez les sous-dossiers/contenus de ces dossiers (ceux de chaque module, composant, etc. - comme décrit pour les composants administrateur) et remplacez-les sur l'instance de votre site.

d. Langues et modèles

  • Naviguez dans le dossier de chaque plugin et copiez les sous-dossiers existants. Remplacez les éléments portant le même nom sur votre instance de site joomla.

e. Plugins

  • Similaire à celui décrit pour le site d'administration. Notez simplement que si vous utilisez des modèles tiers, vous devez alors copier du noyau nouvellement créé uniquement chaque sous-dossier existant dans le dossier des modèles, et non l'intégralité du dossier.

Conclusion - points à garder à l’esprit:

  • Ce qui précède décrit brièvement comment remplacer complètement les fichiers Joomla principaux sur un site Joomla existant - sans supprimer les fichiers tiers.
  • Avec cette approche générale, le noyau de Joomla est présent.
  • Bien sûr, il est recommandé que les versions de Joomla correspondent.
  • Les autres personnalisations/substitutions/correctifs spécifiques sur le noyau du site existant seront supprimés.
  • S'il n'y a pas d'extensions tierces et s'il existe d'autres fichiers sur l'ensemble du site ou partiellement dans des sous-dossiers, par exemple. un dossier plugins, alors tout le dossier parent peut être remplacé.
  • Toujours avoir une sauvegarde - évitez de faire de telles tâches sur le site Web en direct.
  • N'oubliez pas de vider les caches, etc., lorsque vous testez vos modifications.
  • Je décris/suggère la réinstallation complète du noyau avec cette méthode car il est probable que si une installation Joomla échoue pour une raison quelconque, celle-ci pourrait contenir plus de 1 fichiers corrompus. Cependant, quelqu'un pourrait remplacer partiellement le package Joomla et essayer à chaque étape de voir si un problème spécifique est résolu.

Conseil supplémentaire

J'ai constaté que dans certains cas, lors du copier/coller/remplacer de Joomla frais sur le site, il est utile de gagner du temps pour renommer temporairement et garder de côté certains des dossiers de sites existants - au lieu de les remplacer (ce qui les supprime) - conservez des références à celles-ci dans mon environnement de travail actuel - sans avoir à chercher à retélécharger/décompresser à nouveau le fichier/recréer le site existant. Je peux facilement renommer des dossiers et basculer entre les deux versions - ou faire des comparaisons, etc.

2
FFrewin