Magento 2.2 error “Halaman tidak dialihkan dengan benar”

10

Saya menguji modul saya sendiri di Magento CE 2.2.0 tetapi tetap mendapatkan "Halaman tidak diarahkan dengan benar". Melihat lalu lintas jaringan saya melihat permintaan ini:

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

Pengaturan saya:

  • pemasangan lokal pada basis url / magento22-acumulus /
  • Wampserver 3.0.8 dengan php 7.0.10 dan Apache 2.4.23

Apa yang saya lakukan:

  • instal Magento 2.2.0 dengan data sampel
  • pengaturan berubah: hapus kunci rahasia dan gunakan admin / url standar
  • mengujinya: Saya mendapatkan layar login
  • install my module, module: enable, setup: upgrade, setup: di: compile
  • mengujinya: kesalahan seperti di atas
  • modul: disable, cache: clean, setup: di: compile
  • mengujinya: Saya mendapatkan layar login
  • mengulangi ini beberapa kali, pola yang sama, jadi saya berpikir itu ada hubungannya dengan modul saya.
  • Tapi kemudian modul saya berfungsi satu kali dan saya bisa membuka halaman saya sendiri. Sayangnya kesalahan kembali, jadi saya terus melakukan beberapa debugging yang mengaktifkan dan menonaktifkan modul saya tetapi tidak dapat menemukan masalahnya
  • dan sekarang saya juga mendapatkan masalah tanpa modul saya diaktifkan. Jadi saya pikir itu adalah beberapa kondisi / bug aneh di Magento sendiri.

Apa yang bisa menjadi masalah di sini?

fietserwin
sumber
jika Anda mendapat solusi, silakan kirim jawaban Anda
lalit mohan
Sayangnya belum. Saya berhenti menguji modul saya di MA2.2 dan sekarang hanya mengujinya di MA2.1. Modul saya digunakan oleh pelanggan di MA2.2, jadi lebih banyak alasan untuk percaya itu bukan kesalahan dalam konfigurasi, pengaturan atau kode modul saya. Jika, pada akhirnya, saya menemukan solusi, saya akan mempostingnya.
fietserwin
Saya memiliki masalah yang sama. Saya menemukan ada masalah dengan modul Helper Class saya. Anda harus checkout modul Anda satu per satu .. nonaktifkan untuk mencari tahu penyebab kesalahan ..
lalit mohan
dapatkah Anda membagikan gambar apa yang Anda dapatkan kesalahan sebenarnya?
sarvesh Dineshkumar Patel
Anda mencobanya versi baru dan tidak menambahkan ekstensi apa pun?
sarvesh Dineshkumar Patel

Jawaban:

1

Saya tidak yakin apakah ini bug dengan proses kompilasi atau ada yang salah dengan kode modul. Dalam kasus saya, kompilasi Magento salah menciptakan pencegat untuk kelas pada modul saya (tanpa konstruktor yang sebenarnya didefinisikan) yang memperluas kelas lain dari modul lain yang memperluas kelas dari inti Magento (keduanya dengan konstruktor yang ditentukan). Ini juga membuat halaman kosong di frontend, di samping masalah yang Anda sebutkan. Setelah beberapa pemasangan baru Magento 2.2 dan juga Magento 2.1 dengan masalah yang sama ini berhasil bagi saya:

  • Aktifkan mode pengembang: php bin / magento deploy: mode: set developer
  • Instal modul Anda (unggah / salin file) kemudian jalankan php bin / magento setup: upgrade
  • Alih-alih menjalankan proses kompilasi (hanya diperlukan ketika urutan argumen konstruktor diubah atau tipe argumen diubah), cukup hapus folder / dihasilkan / kode / YOURMODULENAMESPACE
Gabriel MdS
sumber
0

Karena Anda menggunakan Apache, saya sarankan Anda mengaktifkan RewriteLog. Kemudian replikasi masalah dan periksa kembali log.

RewriteLog "logs\rewritelog.txt"    
RewriteLogLevel 3
x86fantini
sumber
Terima kasih atas jawaban Anda, tetapi apa yang bisa saya pelajari? Saya sudah mencoba melakukan debug, jadi saya tahu bahwa setiap permintaan yang dialihkan diproses oleh Magento. Saya tidak melihat bagaimana Apache muncul?
fietserwin
Magento bukan server web. Server web apache menggunakan Pengalihan. Jadi, karena kesalahan adalah tentang pengalihan, tempat pertama untuk mencari adalah apa yang melakukan apache. Anda memiliki 50% chanches untuk melihat bahwa apache melakukan pengalihan aneh (http-to-https, atau serupa) dan 50% chanches untuk melihat bahwa magento memerintahkan apche untuk mengarahkan ulang dengan cara yang aneh, mungkin seperti non-www ke www atau sebaliknya.
x86fantini
Magento mengembalikan instruksi pengalihan ke browser. Tidak ada masalah http versus https (seperti dalam banyak laporan lain tentang pengalihan tanpa akhir MA2.2), atau www versus non-www, karena ini ada di localhost. Pengalihan ke halaman seperti yang dijelaskan dalam pertanyaan.
fietserwin
0

Minggu lalu, saya mencoba lagi untuk menginstal lingkungan M2.3.4 yang bersih (dengan data sampel) dan, hoora, sepertinya berhasil. Kecuali, setelah melakukan pengaturan: di: kompilasi masalah ini muncul lagi. Namun, menghapus kode yang dihasilkan dari / dihasilkan / kode membuatnya bekerja lagi ... Jadi itu bisa menjadi masalah di generator, atau beberapa kode yang memeriksa jenis objek dan tidak memenuhi kelas pencegat yang dihasilkan .. .

@Gabriel MdS menjawab kurang lebih hal yang sama, tetapi bagi saya itu juga terjadi ketika modul saya sendiri belum diinstal, jadi saya hanya menginstal bersih dengan data sampel.

Jadi, bukan jawaban atau solusi pasti, tetapi, tentu saja bersama dengan jawaban @Gabriel MdS, sebuah petunjuk kuat terhadap proses pembuatan.

fietserwin
sumber
0

Saya tahu ini adalah tapak lama tetapi peringkat pertama dalam pencarian Google saya. Tidak satu pun dari jawaban ini yang membantu saya tetapi saya mengalami masalah yang sama dan dapat menyelesaikannya. Setup saya menggunakan proxy terbalik. Di belakang proxy saya menggunakan http (non-ssl) dan sebelum proxy hanya https (ssl) yang diizinkan. Ini menyebabkan masalah pengalihan saya.

Solusi: tambahkan baris berikut (tepat setelah komentar) ke pub / index.php

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

Dirk Krijgsman
sumber