web-dev-qa-db-fra.com

Joomla: backend administrateur vide après la connexion

Je suis confronté à un problème lorsque j'essaie de migrer une installation Joomla vers un autre serveur. Permettez-moi tout d'abord de dire que j'ai copié tous les fichiers de l'ancien serveur sur le nouveau et que j'ai migré la base de données Joomla sur un autre serveur.

J'ai mis à jour configuration.php pour refléter les changements sur le serveur MySQL.

Lors du chargement du site, cela fonctionne apparemment bien: se connecte à la base de données et autorise toutes les opérations. Cependant, lorsque vous tentez d'accéder au panneau d'administration Joomla et qu'après une connexion réussie, un écran vide apparaît. Il n'y a aucun moyen possible d'entrer dans le backend.

J'ai configuré le fichier configuration.php pour activer le rapport d'erreur:

public $error_reporting = 'maximum';
public $debug = 1;

De plus, j'ai introduit la ligne suivante dans le fichier administrator/index.php:

error_reporting(E_ALL);

Malgré tout, aucune erreur ne figure dans le journal Apache2 (/var/log/Apache2/error.log) ni dans les journaux Joomla (/var/www/logs/error.php).

J'ai essayé de désactiver manuellement certaines extensions dans la base de données, et le fait de désactiver l'extension "Jomsocial Update" permet d'entrer dans le backend, bien que le site d'administration Jomsocial ne soit pas accessible (une page vierge apparaît à nouveau).

Pour moi, ce qui est étrange, c'est le fait de ne pas avoir d'erreur du tout dans les journaux.

L'ancien et le nouveau serveur ont la même version d'Apache (2.2.22). Cependant, l'ancien serveur a PHP v5.4.6 alors que le nouveau serveur a PHP v5.3.10. J'ai également essayé d'installer PHP v5.4.28 depuis un dépôt non-officiel, mais cela a aussi échoué.

Savez-vous ce qui peut arriver? Merci beaucoup pour votre soutien.

1
baldo

Après y avoir travaillé toute la journée, j’ai finalement trouvé la solution. C'est juste que php5-curl n'a pas été installé. Aussi simple et stupide que cela puisse paraître.

Donc, ce qui se passait très probablement, c’est que le plugin Jomsocial/Jomsocial Update avait besoin de curl pour afficher ses sites d’administration. Je suppose que Jomsocial Update a été exécuté à chaque fois que l'administrateur est entré dans le panneau d'administration, c'est pourquoi il a été désactivé en désactivant l'écran de mort en blanc (alors que le site d'administration de Jomsocial n'était de toute façon pas accessible).

Néanmoins, je suis confus quant à la manière de trouver la solution: cela m’est arrivé dans d’autres scénarios, mais vous trouvez généralement la solution car les journaux sont assez explicites pour indiquer que curl_init () n’est pas défini. À quel point cela peut-il être perturbé de manière à ce que rien ne soit absolument enregistré dans les journaux?

Eh bien, en fait assez foiré. En écrivant ces mots, j'ai eu une idée de ce qui pouvait se passer. Oui, les appels curl_init () sont précédés de l'opérateur '@', qui supprime les erreurs même lorsque la journalisation E_ALL est définie. Je ne sais pas s'il s'agit d'un style de code courant, mais pour ce qui est du débogage, cela transforme tout cela en un enfer.

Quoi qu'il en soit, c'est la solution pour quiconque peut avoir le même problème.

Cordialement!

3
baldo

Am Anthony, je dirige ce site Web qui a JomSocial en tant que composant communautaire pour mes membres. Effectivement, je suis ici pour essayer d'aider quelqu'un qui pourrait rencontrer un problème comme le mien, car le mien est si unique. J'ai parcouru Internet et je ne voyais même pas pourquoi je voyais mon écran de la Mort. Je vais dire comment je suis entré dans le problème.

  1. J'ai l'habitude de faire une copie de sauvegarde de mes sites Web en ligne, puis de les recharger dans mon hôte local pour être sûr à 100% que ma sauvegarde est entièrement fonctionnelle. Je le fais en utilisant l’assistant de sauvegarde du Cpanel de mon domaine.
  2. J'ai donc fait la sauvegarde, puis une fois que tous les fichiers étaient hors ligne (base de données et archives HTML publiques),. = J'ai extrait mes archives, collé le site Web dans mon hôte local, restauré la base de données et essayé d'accéder au site. Bien sûr, j'ai rencontré un écran blanc, quelque chose que je n'ai jamais rencontré.
  3. En résumé, après environ 2 heures d’essais et d’échecs, j’ai vérifié tous les dossiers extraits. À ma grande déception, mon archive n’a pas extrait le dossier "Composants". Je l’ai donc copiée manuellement à partir du site Web que j’avais utilisé à l’origine. Téléchargez celui qui est en ligne, je n’avais pas installé de composant supplémentaire depuis l’hébergement du site Web, donc j’étais sûr que tous les composants dont j’ai besoin sont présents dans ce dossier {Mais j’imaginais que je ne savais pas si cela fonctionnerait ou non} , collé dans le dossier contenant le reste de mon site Web dans mon hôte local, puis à partir de là, j’ai pu me connecter à l’arrière de mon site Web Joomla, Cleared Cache et le cache expiré, et bien sûr, mon site Web a été chargé exactement comme c'est en ligne.
  4. Donc, mon conseil simple, avant de vérifier l’origine de WSOD après la migration de votre site Web vers un autre hôte, vérifiez-le manuellement pour vous assurer que tous vos fichiers et dossiers sont présents. C’est ce que j’ai fait après un véritable défi: déterminer ce qui est mal avec mon site web. Je suis surpris que ce conseil ne soit apparu nulle part partout où j'ai cherché en ligne!
0
Anthony Kerry