Saya telah menginstal Magento 1.9 . Itu bekerja dengan baik selama seminggu. Tiba-tiba kemarin, ketika saya mencoba masuk ke panel admin Magento dan saya mengetik username
dan password
, mengklik tombol Login dan tidak ada yang terjadi. Halaman disegarkan dan itu saja. Tidak ada kesalahan atau pesan lainnya.
Jika saya memasukkan nama pengguna atau kata sandi yang salah, ini menunjukkan kesalahan.
Setelah saya googled tentang masalah ini, saya disarankan untuk berkomentar baris berikut di:
app \ code \ core \ Mage \ Core \ Model \ Session \ Abstract \ Varien.php
/* to solve login issue */
/*if (!$cookieParams['httponly']) {
unset($cookieParams['httponly']);
if (!$cookieParams['secure']) {
unset($cookieParams['secure']);
if (!$cookieParams['domain']) {
unset($cookieParams['domain']);
}
}
}
if (isset($cookieParams['domain'])) {
$cookieParams['domain'] = $cookie->getDomain();*/ //I have commented these lines
Dan untuk beberapa versi yang lebih tua di bawah ini, recommented di file yang sama.
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
//'domain' => $cookie->getConfigDomain()
//'secure' => $cookie->isSecure(),
//'httponly' => $cookie->getHttponly()
);
}*/
Bahkan setelah itu, saya tidak bisa masuk ke admin. Seperti apa adanya. Adakah yang menghadapi masalah ini? Apakah ada solusi lain untuk masalah ini?
(Saya mencoba membersihkan cache dan sesi melalui ftp).
sumber
app/code/local/Mage/Core..blahblah
untuk diedit sehingga Magento menimpa file inti. Juga gunakan git untuk kontrol versi, itu adalah anugerah.Jawaban:
Berhentilah mengubah kode inti seperti itu - mungkin untuk sementara menyelesaikan suatu masalah, tetapi mungkin membuat masalah di masa depan yang hampir mustahil untuk dilacak.
Ada sejumlah masalah berbeda yang menyebabkan perilaku masuk admin yang salah yang Anda lihat, tetapi semuanya kembali ke Magento karena tidak dapat mengatur atau membaca cookie sesi. Magento menggunakan sesi untuk menyampaikan pesan kesalahan antar halaman - itu sebabnya Anda tidak melihat pesan kesalahan. Magento juga menggunakan sesi untuk menyimpan nilai "login", jadi tidak mengatur sesi juga menyebabkan perilaku kesalahan inti.
Kemungkinan penyebabnya termasuk
Waktu komputer lokal vs. ketidakcocokan waktu server, menyebabkan pembatalan cookie instan. Pastikan waktu server Anda benar.
Izin salah aktif
var/session
, mencegah file sesi disimpanKonfigurasi database / redis / penyimpanan sesi lainnya salah, mencegah penghematan nilai sesi
Modul membuat sesi untuk awal , mencegah nama sesi yang benar dari yang ditetapkan
Anda adalah seorang pengembang yang menggunakan banyak URL dan memiliki banyak domain cookie
Pengembang lain entah bagaimana telah dimodifikasi
app\code\core\Mage\Core\Model\Session\Abstract\Varien.php
, menciptakan bug yang sulit dilacakDomain cookie di
System -> Configuration -> Web -> Session Cookie Management
tidak cocok dengan domain situs yang sebenarnya.Anda menggunakan
localhost
sebagai domain server Anda, dan menggunakan versi webkit yang memiliki masalah / bug untuk mengatur cookielocalhost
dalam beberapa situasi.Perbaikan jangka pendek adalah dengan hanya menghapus cookie Anda untuk domain. Itu cukup sering untuk menyelesaikan masalah. Jika masih ada, cari tahu alasan di atas yang menjadi alasan kesalahan Anda, dan ambil langkah untuk mengatasinya (perbaiki izin, dll.)
sumber
Saya mengalami gejala yang sama pada beberapa instalasi Magento (tidak hanya 1.9). Dalam kasus saya, ini hanya terjadi di Chrome. Saya memperbaikinya dengan masuk ke Firefox / Safari / Opera, dan mengubah 'Gunakan HTTP saja' menjadi 'Tidak' di 'Session Cookies Management' dari pengaturan 'Web'.
sumber
Use HTTP only
untukNo
tanpa akses panel admin. Anda dapat meluncurkan langsung permintaan SQL ini: PEMBARUAN__DATABASE_NAME__
.core_config_data
SETvalue
= '0' DI MANAcore_config_data
.path
= 'web / cookie / cookie_httponly';Saya punya masalah ini juga. Ternyata sesi tidak bisa mendapatkan ditulis untuk
var/session
, meskipun direktori itu sendiri diatur untuk0777
. Magento membuat file sesi, tetapi semuanya tetap nol byte.Mengubah penyimpanan sesi dari
files
menjadidb
memecahkan masalah bagi saya.sumber
Beri komentar seperti itu:
/*error_reporting(E_ALL | E_STRICT);*/
Dan gunakan kode berikut sebagai gantinya:
error_reporting(E_ALL);
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
Batalkan komentar dengan menghapus tanda #, sehingga terlihat seperti itu:
ini_set('display_errors', 1);
Simpan file ini dan unggah ke server. Muat ulang halaman situs web Anda untuk melihat kesalahan.
sumber
Alasan lain yang mungkin: harddisk / volume / kuota penuh dan sehingga data sesi tidak dapat ditulis ke disk. Mungkin sepertinya tidak mungkin, tetapi baru saja terjadi kedua kalinya bagi saya dan perlu waktu untuk mencari tahu.
Saya tidak memiliki cukup reputasi untuk berkomentar, tetapi @Alan Storm, mungkin Anda ingin mengambil ini dalam daftar yang sangat baik.
sumber
Saya baru-baru ini memiliki masalah yang sama dan trik sederhana berhasil untuk saya. Ini juga untuk orang-orang yang tidak dapat mengakses dasbor di Google Chrome . Jika Anda dapat bekerja di Mozilla Firefox maka silakan lakukan karena saya kira masalah ini tidak persisten di Mozilla firefox.
Jadi solusi untuk chrome adalah:
Goto System> Konfigurasi-> Web . Buka tab Tidak Aman dan Aman . Ubah URL Basis menjadi
http://127.0.0.1/[Your folder name]
jika Anda menggunakan localhost atau ubah ke URL Situs tempat Anda mengakses frontend. Saya harus masuk dua kali untuk sampai ke Dasbor karena ketika saya memasukkan detail untuk pertama kalinya, itu hanya menyegarkan dan kembali ke halaman yang sama seperti yang Anda sebutkan sebagai perulangan.sumber
Buka phpMyAdmin Anda dari host Anda coba sekali perintah sql ini.
Jalankan SQL ini:
Sekarang admin bisa masuk.
Silakan ikuti ini:
Halaman admin menunjukkan 404 halaman tidak ditemukan
sumber
Saya memiliki masalah yang sama dan saya menyelesaikannya dengan menghapus semua file di / var / session. Saya pikir itu karena terlalu banyak sesi di Magento!
sumber
Daftar Badai Alarm sudah benar dan terperinci. Berikut adalah beberapa kasus tambahan.
var/session
Mesin host juga(masalah pemasangan)
n98-magerun.phar sys:check
(menangkap masalah termasuk domain cookie)Ubah sesi ke database dengan mengedit local.xml. Ini akan mengesampingkan sebagian besar masalah izin dengan menggunakan insidie
<global>
Juga bervariasi ekstensi pihak ketiga (ekstensi firewall / keamanan) misalnya https://github.com/paimpozhil/MageFirewall/blob/master/app/code/community/MageFirewall/Firewall/Model/Observer.php#L53 menempatkan Anda dalam daftar hitam jika Anda mencoba terlalu banyak.
Dapat terjadi jika sesi Anda awalnya tidak berfungsi untuk masalah izin tetapi kemudian terus gagal bahkan setelah Anda memperbaiki masalah asli
Dalam kasus khusus Anda, awasi
admin_session_user_login_success
acara karena sebagian besar modul keamanan / firewall menggunakan acara ini. Perhatikan secara khusus jika variabel$_SESSION['admin']
disetel ulang oleh pengamatsumber
Penting juga bahwa Anda memiliki hadiah kunci formulir, jika tidak, formulir Anda tidak akan diproses.
sumber
Solusi sederhana untuk masalah ini adalah menggunakan http://127.0.0.1 sebagai nama inang alih-alih localhost.
Karena masalahnya adalah Anda tidak dapat masuk ke admin Anda, Anda harus mengubah url basis aman dan tidak aman dalam tabel database: core_config_data
Ini juga akan membuat baseurl Anda validasi dengan sys n98-magerun: check
sumber
Jika Anda mengembangkan
localhost
dan telah menetapkan atau mengubah nama domain Andalocalhost
, perbaruicore_config_data
nama domain tabel database Anda127.0.0.1
sebagai gantinya. MisalnyaUPDATE core_config_data SET value="http://127.0.0.1/magento/" WHERE path="web/unsecure/base_url";
sumber
Selain itu, Anda dapat memperbarui kata sandi dalam database jika segala sesuatu dari atas tidak berfungsi dan Anda perlu akses putus asa:
ganti kata-kata pengguna dan kata sandi sesuai dengan kebutuhan Anda.
sumber
Pertama-tama cobalah untuk menghapus cache Anda, saya pikir dan jika ini tidak berhasil, cobalah untuk membuat chmod 700 pada folder var Anda.
sumber
Anda dapat mengubah browser Anda mungkin ini berfungsi untuk saya. Ketika kesalahan ini terjadi, saya telah mengubah browser chrome ke firefox dan berfungsi.
sumber
Hal yang sama terjadi pada saya beberapa waktu lalu dan masalah saya berasal dari sesi. Saya tidak punya cukup ruang DISK untuk membuat sesi dan cache
var/
. Saya menghapus beberapa hal dan semuanya bekerja setelahnya. Mungkin itu akan membantu seseorang.Tepuk tangan
sumber
Cobalah untuk menghapus cache Anda dengan mengosongkan folder "var / cache" dan "var / session", ini menyelesaikannya untuk saya.
Saya juga harus me-restart server web setelah itu sekali.
sumber