Erreur Magento 2.2 "La page ne redirige pas correctement"

10

Je teste mon propre module sur Magento CE 2.2.0 mais je reçois toujours "La page ne redirige pas correctement". En regardant le trafic réseau, je vois ces demandes:

  • / magento22-acumulus / admin /
  • / magento22-acumulus / admin / admin / index / refus /
  • / magento22-acumulus / admin / admin / auth / login /
  • / magento22-acumulus / admin / admin /
  • / magento22-acumulus / admin / admin / index / refus /
  • / magento22-acumulus / admin / admin / auth / login /
  • / magento22-acumulus / admin / admin /
  • / magento22-acumulus / admin / admin / index / refus /
  • / magento22-acumulus / admin / admin / auth / login /
  • / magento22-acumulus / admin / admin /
  • ...

Ma configuration:

  • installation locale sur l'url de base / magento22-acumulus /
  • Wampserver 3.0.8 avec php 7.0.10 et Apache 2.4.23

Ce que j'ai fait:

  • installer Magento 2.2.0 avec des exemples de données
  • paramètres modifiés: supprimez la clé secrète et utilisez l'url / admin standard
  • testé: je reçois l'écran de connexion
  • installer mon module, module: activer, configuration: mise à niveau, configuration: di: compiler
  • testé: erreur comme ci-dessus
  • module: désactiver, cache: nettoyer, configuration: di: compiler
  • testé: je reçois l'écran de connexion
  • répété cela un certain nombre de fois, même schéma, donc je pensais que cela avait à voir avec mon module.
  • Mais j'ai ensuite fait fonctionner mon module une fois et j'ai pu accéder à mes propres pages. Malheureusement, l'erreur est revenue, j'ai donc continué à déboguer l'activation et la désactivation de mon module, mais je n'ai pas pu localiser le problème
  • et maintenant je reçois également le problème sans que mon module soit activé. Je pense donc que c'est une condition / bogue étrange dans Magento lui-même.

Quel pourrait être le problème ici?

fietserwin
la source
si vous avez une solution, veuillez poster votre réponse
lalit mohan
Pas encore, malheureusement. J'ai arrêté de tester mon module sur MA2.2 et maintenant je le teste uniquement sur MA2.1. Mon module est utilisé par les clients sur MA2.2, donc plus de raisons de croire que ce n'est pas une erreur dans la configuration, les paramètres ou le code de mon module. Si, finalement, je trouve une solution, je la posterai.
fietserwin
J'ai le même problème. J'ai découvert qu'il y avait un problème avec mon module Helper Class .. Vous devez vérifier vos modules un par un .. désactiver pour trouver la cause de l'erreur ..
lalit mohan
pouvez-vous partager l'image de ce que vous obtenez erreur exacte?
sarvesh Dineshkumar Patel
vous avez essayé une nouvelle version et n'ajoutez aucune extension ou autre?
sarvesh Dineshkumar Patel

Réponses:

1

Je ne suis pas sûr que ce soit un bug avec le processus de compilation ou quelque chose de mal avec le code du module. Dans mon cas, la compilation Magento créait incorrectement un intercepteur pour une classe sur mon module (sans constructeur défini) qui étendait une autre classe d'un autre module qui étendait une classe à partir du noyau Magento (tous deux avec des constructeurs définis). Cela créait également une page vierge dans le frontend, en plus des problèmes que vous avez mentionnés. Après plusieurs nouvelles installations de Magento 2.2 et Magento 2.1 avec le même problème, cela a fonctionné pour moi:

  • Activer le mode développeur: php bin / magento deploy: mode: définir développeur
  • Installez votre module (télécharger / copier des fichiers) puis exécutez la configuration de php bin / magento: mise à niveau
  • Au lieu d'exécuter le processus de compilation (nécessaire uniquement lorsque l'ordre des arguments du constructeur est modifié ou que les types d'argument sont modifiés), supprimez simplement le dossier / généré / code / YOURMODULENAMESPACE
Gabriel MdS
la source
0

Puisque vous utilisez Apache, je vous suggère d'activer le RewriteLog. Répliquez ensuite le problème et vérifiez à nouveau les journaux.

RewriteLog "logs\rewritelog.txt"    
RewriteLogLevel 3
x86fantini
la source
Merci pour votre réponse, mais qu'est-ce que cela pourrait m'apprendre? J'ai déjà essayé de déboguer, donc je sais que chaque demande redirigée est traitée par Magento. Je ne vois pas comment Apache entre en scène?
fietserwin
Magento n'est pas un serveur Web. Le serveur Web apache utilise des redirections. Donc, comme l'erreur concerne une redirection, le premier endroit à rechercher est ce qui fait apache. Vous avez 50% de modifications pour voir qu'apache oa fait une redirection étrange (http-to-https ou similaire) et 50% de modifications pour voir que magento demande à apche de rediriger de manière étrange, peut-être comme non-www vers www ou viceversa.
x86fantini
Magento renvoie les instructions de redirection au navigateur. Il n'y a pas de problème http contre https (comme dans de nombreux autres rapports sur les redirections sans fin MA2.2), ni www contre non-www, car c'est sur localhost. Les redirections sont vers les pages comme décrit dans la question.
fietserwin
0

La semaine dernière, j'ai essayé à nouveau d'installer un environnement M2.3.4 propre (avec des exemples de données) et, hoora, cela semble fonctionner. Sauf qu'après avoir fait une configuration: di: compile ce problème est apparu à nouveau. Cependant, la suppression du code généré de / généré / code l'a fait fonctionner à nouveau ... Cela pourrait donc être un problème dans le générateur, ou du code qui vérifie le type d'un objet et ne prend pas en compte les classes d'intercepteurs générées. .

@Gabriel MdS a répondu plus ou moins à la même chose, mais pour moi, cela s'est également produit lorsque mon propre module n'était pas encore installé, donc je n'ai eu que l'installation propre avec des exemples de données.

Donc, pas une réponse ou une solution définitive, mais, certainement avec la réponse de @Gabriel MdS, un indice fort vers le processus de génération.

fietserwin
la source
0

Je sais que c'est une vieille bande de roulement, mais elle s'est classée première dans ma recherche Google. Aucune de ces réponses ne m'a aidé, mais je rencontre le même problème et j'ai pu le résoudre. Ma configuration utilise un proxy inverse. Derrière le proxy, j'utilise http (non-ssl) et avant le proxy, seul https (ssl) est autorisé. Cela a causé mon problème de redirection.

Solution: ajoutez la ligne suivante (juste après les commentaires) à pub / index.php

$ _SERVER ['HTTPS'] = 'on';

Dirk Krijgsman
la source