Rumah >pembangunan bahagian belakang >tutorial php >Cara Memperbaiki Masalah Masuk Magento Dengan Kuki Dan Sesi
Artikel ini adalah usaha kerjasama dengan Ktree. Terima kasih kepada rakan kongsi kami yang membuat SitePoint mungkin.
Artikel ini mengkaji bagaimana misconfigurations cookie magento dapat mengganggu fungsi log masuk di kedua -dua kedai depan dan backend admin, menerangkan sebab -sebab yang mendasari, dan menyediakan penyelesaian. Masalah ini sering dicirikan oleh gelung redirect, di mana skrin log masuk muncul semula walaupun terdapat kelayakan yang betul.Skrip diagnostik dimasukkan untuk membantu mengenal pasti beberapa isu biasa. Jangan ragu untuk menyesuaikan diri dan memperluaskannya untuk keperluan khusus anda.
Mata utama:
.example.com
Cookie adalah fail teks kecil kedai pelayan web pada komputer pengguna dan kemudian boleh mendapatkan semula. Magento menggunakan kuki untuk fungsi kereta dan pentadbir, dan masalah kuki boleh menghalang log masuk.
Sesi adalah maklumat penyimpanan pelbagai pelayan di beberapa halaman. Item kereta, sebagai contoh, sering disimpan dalam sesi dan diambil semasa checkout. Sesi dikenal pasti oleh ID unik (dalam PHP, 'ID Sesi PHP'). ID ini mesti disimpan sebagai kuki dalam penyemak imbas pengguna untuk menubuhkan sambungan.
Penyimpanan Sesi Magento:
Magento menawarkan pembekal sesi berganda yang boleh dikonfigurasikan dalam
:<session_save></session_save><session_save_path></session_save_path>
<session_save></session_save>
ke /app/etc/local.xml
untuk mengaktifkan storan sesi pangkalan data. Sesi disimpan dalam jadual Core\_session
. <session_save>db</session_save><redis_session><host>127.0.0.1</host><port>6379</port></redis_session>
<session_save></session_save><session_save_path></session_save_path>
Penggunaan cookie Magento:
Magento menggunakan cookies 'frontend' dan 'adminhtml'. 'Frontend' dibuat apabila melayari mana -mana halaman dan dikemas kini pada log masuk pelanggan; 'Adminhtml' dibuat pada log masuk backend. Memeriksa elemen (dalam Chrome:Periksa elemen & gt; aplikasi ) menunjukkan kuki ini. Konfigurasi cookie ditemui dalam menu admin Magento: sistem & gt; Konfigurasi & gt; Umum & gt; Web .
kegagalan log masuk penyelesaian masalah dan pengalihan:
Gelung redirect login yang mengecewakan adalah masalah magento biasa. Mari kita meneroka penyelesaian:
Masalah 1: Cookie dan Domain Pelayan yang tidak sesuai:
Jika laman web anda tetapi domain cookie magento adalah
, cookies magento akan menggunakan, tetapi pengesahan sesi menggunakan domain yang diakses (example.com
). Sistem ini tidak akan menemui sesi, mengakibatkan pengalihan. xyz.com
xyz.com
example.com
Penyelesaian:
sistem & gt; Konfigurasi & gt; Umum & gt; Web . Sebagai alternatif, gunakan SQL:
Masalah 2: Konfigurasi kuki yang salah untuk pelbagai subdomain:<code class="language-sql">SELECT * FROM core_config_data WHERE path = 'web/cookie/cookie_domain'; -- Verify UPDATE core_config_data SET VALUE = "domain.com" WHERE path = 'web/cookie/cookie_domain'; -- Update</code>
Log masuk ke mungkin berfungsi, tetapi
gagal. Log masuk mungkin berjaya pada mulanya, tetapi menukar domain memerlukan pembersihan cookie.
example.com/admin
staging.example.com/admin
penyelesaian 1 (pelayan yang sama):
dalam sistem & gt; Konfigurasi & gt; Umum & gt; Web . .example.com
penyelesaian 2 (pelayan yang berbeza):
untuk domain utama dan untuk pementasan). Juga, pastikan domain cookie anda sepadan dengan konfigurasi magento anda. .example.com
Penyelesaian 3 (kurang disyorkan): Ubah suai app/code/core/Mage/Core/Controller/Varien/Action.php
untuk menyesuaikan nama cookie adminhtml
secara dinamik untuk subdomain (gunakan dengan berhati -hati).
Masalah 3: Duplicate Frontend Cookies:
Multiple frontend cookies boleh mencegah log masuk.
Penyelesaian: Pastikan tetapan domain cookie yang konsisten (.example.com
) merentasi utama dan subdomain. Semak php.ini
anda untuk tetapan domain cookie dan pastikan konsistensi dengan konfigurasi Magento.
Masalah 4: Sesi ID Penciptaan Kegagalan:
Penyelesaian: Typecast fungsi dalam read()
ke app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
. return (string)$data;
Masalah 5: Pemilikan fail sesi yang tidak betul:
amaran seperti "session_start (): fail data sesi tidak dibuat oleh uid anda" menunjukkan isu kebenaran.
Penyelesaian: Geran Pengguna Webserver (mis., www-data
sudo chown -R www-data:www-data
var/cache
skrip php untuk diagnosis cookie:
Konfigurasi Domain Output Script dan Magento Cookie, nilai cookie, dan bendera isu -isu yang berpotensi seperti cookies pendua.
<code class="language-sql">SELECT * FROM core_config_data WHERE path = 'web/cookie/cookie_domain'; -- Verify UPDATE core_config_data SET VALUE = "domain.com" WHERE path = 'web/cookie/cookie_domain'; -- Update</code>
Soalan Lazim (Soalan Lazim) - diringkaskan:
Seksyen Soalan Lazim memberikan jawapan terperinci kepada soalan -soalan umum mengenai masalah masalah log masuk magento, yang meliputi pelbagai aspek seperti cookie dan pengurusan sesi, resolusi ralat, pengoptimuman prestasi, dan mencari bantuan profesional. Takeaway utama adalah untuk memastikan konfigurasi kuki dan sesi yang konsisten dan betul merentasi persediaan Magento anda, dan menggunakan skrip diagnostik yang disediakan untuk mengenal pasti dan menyelesaikan masalah tertentu.
Atas ialah kandungan terperinci Cara Memperbaiki Masalah Masuk Magento Dengan Kuki Dan Sesi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!