Magento 1.9 ไม่สามารถเข้าสู่แผง admin ได้!


99

ผมได้ติดตั้งวีโอไอพี 1.9 มันทำงานได้ดีเป็นเวลาหนึ่งสัปดาห์ ทันใดนั้นเมื่อวานฉันพยายามลงชื่อเข้าใช้แผงผู้ดูแลระบบ Magento และฉันพิมพ์usernameและpasswordคลิกปุ่มลงชื่อเข้าใช้แล้วไม่มีอะไรเกิดขึ้น รีเฟรชหน้าและนั่นคือทั้งหมด ไม่มีข้อผิดพลาดหรือข้อความอื่น ๆ

หากฉันป้อนชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้องจะแสดงข้อผิดพลาด

หลังจากที่ฉัน googled เกี่ยวกับปัญหานี้ฉันแนะนำให้แสดงความคิดเห็นบรรทัดต่อไปนี้ใน:

แอปพลิเค \ รหัส \ หลัก \ Mage \ หลัก \ รุ่น \ \ Session บทคัดย่อ \ 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

และสำหรับรุ่นเก่าบางรุ่นด้านล่างได้รับการแนะนำใหม่ในไฟล์เดียวกัน

$cookieParams = array(           
    'lifetime' => $cookie->getLifetime(),           
    'path'     => $cookie->getPath(),           
    //'domain'   => $cookie->getConfigDomain()           
    //'secure'   => $cookie->isSecure(),           
    //'httponly' => $cookie->getHttponly()       
);
  }*/

แม้ว่าหลังจากนั้นฉันไม่สามารถลงชื่อเข้าใช้ในผู้ดูแลระบบได้ มันเป็นอย่างที่มันเป็น ใครประสบปัญหานี้ มีวิธีอื่นในการแก้ไขปัญหานี้หรือไม่?

(ฉันพยายามล้างแคชและเซสชันผ่าน ftp)


คุณช่วยกรุณาล้างแคช / คุกกี้ของเบราว์เซอร์และลองอีกครั้งได้ไหม?
alamelu

คัดลอกไฟล์หลักไปยังapp/code/local/Mage/Core..blahblahเพื่อแก้ไข Magento จะแทนที่ไฟล์หลัก นอกจากนี้ยังใช้คอมไพล์สำหรับการควบคุมเวอร์ชันมันเป็นสวรรค์
Chris K

@SHIBHI S โปรดอ่านลิงก์นี้magentolearning.com/can-not-login-magento-admin-panel
Manoj Kumar

1
หากคุณใช้ Chrome ให้พิมพ์ F12> แหล่งข้อมูล> คุกกี้> คลิกขวาที่โดเมนของคุณ> ล้าง
rybo111

คำตอบ:


122

หยุดการแก้ไขรหัสหลักเช่นนั้น - อาจเป็นการแก้ปัญหาชั่วคราว แต่อาจสร้างปัญหาในอนาคตที่แทบจะเป็นไปไม่ได้ที่จะติดตาม

มีปัญหาที่แตกต่างกันจำนวนมากที่ทำให้เกิดพฤติกรรมการเข้าสู่ระบบแบบผู้ดูแลระบบที่ผิดพลาดที่คุณเห็น แต่ทั้งหมดกลับไปที่วีโอไอพีซึ่งไม่สามารถตั้งค่าหรืออ่านคุกกี้เซสชันได้ Magento ใช้เซสชันเพื่อส่งข้อความแสดงข้อผิดพลาดระหว่างหน้า - นั่นคือเหตุผลที่คุณไม่เห็นข้อความแสดงข้อผิดพลาด วีโอไอพียังใช้เซสชันเพื่อจัดเก็บค่า "เข้าสู่ระบบ" ดังนั้นการตั้งค่าเซสชันจึงไม่ทำให้เกิดข้อผิดพลาดหลัก

สาเหตุที่เป็นไปได้ ได้แก่

  • เวลาโลคัลคอมพิวเตอร์เทียบกับเวลาเซิร์ฟเวอร์ไม่ตรงกันทำให้การตรวจสอบคุกกี้ทันทีไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าเวลาเซิร์ฟเวอร์ของคุณถูกต้อง

  • สิทธิ์ไม่ถูกต้องในvar/sessionทำให้ไม่สามารถบันทึกไฟล์เซสชันได้

  • การกำหนดค่าที่ไม่ถูกต้องของฐานข้อมูล / redis / ที่เก็บข้อมูลเซสชันอื่นป้องกันการบันทึกค่าเซสชัน

  • โมดูลกำลังสร้างอินสแตนซ์ของเซสชันให้เร็วขึ้นทำให้ไม่สามารถตั้งชื่อเซสชันที่ถูกต้องได้

  • คุณเป็นนักพัฒนาซอฟต์แวร์ที่ใช้ URL หลายรายการและมีหลายโดเมนคุกกี้

  • นักพัฒนารายอื่นได้ทำการปรับเปลี่ยนอย่างใดอย่างapp\code\core\Mage\Core\Model\Session\Abstract\Varien.phpหนึ่งสร้างข้อผิดพลาดที่ติดตามได้ยาก

  • โดเมนคุกกี้ในSystem -> Configuration -> Web -> Session Cookie Managementไม่ตรงกับโดเมนไซต์จริง

  • คุณกำลังใช้localhostเป็นโดเมนเซิร์ฟเวอร์ของคุณและใช้ webkit รุ่นที่มีปัญหา / ข้อผิดพลาดในการตั้งค่าคุกกี้localhostในบางสถานการณ์

การแก้ไขระยะสั้นคือเพียงลบคุกกี้ของคุณสำหรับโดเมน ซึ่งเพียงพอสำหรับการแก้ปัญหา หากยังคงมีอยู่ให้หาสาเหตุข้อใดข้อหนึ่งข้างต้นซึ่งเป็นสาเหตุของข้อผิดพลาดของคุณและทำตามขั้นตอนเพื่อจัดการปัญหา (แก้ไขสิทธิ์ ฯลฯ )


7
คุณสามารถใช้คำสั่ง sys: check ของ n98-magerun เพื่อค้นหาปัญหาเกี่ยวกับโดเมนคุกกี้และ URL พื้นฐาน magerun.net/quick-tip-find-login-issues-with-syscheck-command
cmuench

1
@Alan Storm ขอขอบคุณสำหรับคำอธิบายที่ชัดเจน ฉันแก้ไขปัญหาของฉันแล้ว ในกรณีของฉันเหตุผลของปัญหาคืออันดับหนึ่ง
SIBHI S

4
ในกรณีของฉันมีพื้นที่ดิสก์ไม่เพียงพอบนเซิร์ฟเวอร์ ดังนั้นคุณอาจต้องการเพิ่มสิ่งนี้เป็นสาเหตุที่เป็นไปได้
Simon

@cmuench ฉันเรียกใช้คำสั่งนั้นและฉันไม่เข้าใจผลลัพธ์: ที่ไม่ถูกต้องไม่ปลอดภัยที่เก็บ BaseURL: ชื่อโฮสต์ผิดเริ่มต้นกำหนดค่า ชื่อโฮสต์จะต้องมีจุด✖ร้านค้าที่ไม่ปลอดภัยที่ไม่ปลอดภัย BaseURL: ภาษาฝรั่งเศสกำหนดชื่อโฮสต์ผิด ชื่อโฮสต์จะต้องมีจุด✖ที่เก็บข้อมูลไม่มั่นคงที่ไม่ปลอดภัย BaseURL: sot_eng กำหนดชื่อโฮสต์ไม่ถูกต้อง ชื่อโฮสต์จะต้องมีจุด✖ที่เก็บข้อมูลไม่มั่นคงที่ไม่ปลอดภัย BaseURL: sot_fra ชื่อโฮสต์ที่ไม่ถูกต้องกำหนดค่า ชื่อโฮสต์จะต้องมีจุด✔โดเมนคุกกี้ (ปลอดภัย) ของร้านค้า: ค่าเริ่มต้นตกลง - ไม่มีชุดโดเมนโดเมนคุกกี้ทั้งหมดมีลักษณะเหมือนกันเป็นชุด Ok และไม่มีชุดโดเมน
Denisa

@Denisa คุณจะมีโชคมากขึ้นถ้าคุณลองถามคำถามใหม่
อลันสตอร์ม

33

ฉันมีอาการเหมือนกันในการติดตั้ง Magento บางอย่าง (ไม่เพียง 1.9) ในกรณีของฉันมันเกิดขึ้นเฉพาะใน Chrome ฉันแก้ไขสิ่งนี้ด้วยการเข้าสู่ระบบใน Firefox / Safari / Opera และเปลี่ยน 'ใช้ HTTP เท่านั้น' เป็น 'ไม่' ใน 'การจัดการคุกกี้เซสชัน' ของการตั้งค่า 'เว็บ'

ดูภาพหน้าจอแบ็กเอนด์ของ Magento ด้วยการตั้งค่าคุกกี้


3
สิ่งนี้ช่วยให้ฉันได้รับสภาพแวดล้อมการพัฒนาของฉันทำงานใน Chrome แต่อย่าลืมใช้การตั้งค่าเหล่านี้ในการผลิตเนื่องจากเปิดช่องโหว่ด้านความปลอดภัยทั้งชั้น
Stephen Crosby

ส่วนการจัดการคุกกี้เซสชันอยู่ที่ไหน
Aryeh Armon

1
ตรวจสอบโดเมนคุกกี้ของคุณด้วย - ฉันกำลังพัฒนาในพื้นที่และสิ่งนี้กลายเป็นปัญหาของฉัน
Phil Birnie

ช่วยฉันมาก! ไม่เคยรู้เลยว่าสิ่งนี้จะเกิดขึ้นใน Chrome เท่านั้น ฮ่าฮ่า!
jehzlau

4
ในการตั้งค่าUse HTTP onlyที่จะNoไม่สามารถเข้าถึงแผง admin คุณสามารถเปิดโดยตรงนี้แบบสอบถาม SQL: __DATABASE_NAME__UPDATE core_config_dataSET value= '0' core_config_dataWHERE path= 'web / cookie / cookie_httponly';
Nolwennig

11

ฉันมีปัญหานี้เช่นกัน เปิดออกมาประชุมไม่ได้เขียนไปแม้ว่าไดเรกทอรีที่ตัวเองมีการตั้งค่าvar/session 0777วีโอไอพีสร้างไฟล์เซสชั่น แต่พวกเขาทั้งหมดยังคงเป็นศูนย์ไบต์

การเปลี่ยนที่เก็บข้อมูลเซสชันจากfilesเพื่อdbแก้ปัญหาสำหรับฉัน


ใช้งานได้! ฉันไม่เข้าใจว่าทำไม Magento ไม่เขียนเซสชันและแคชในไฟล์ การอนุญาตถูกต้อง!
Michelangelo

หากฉันจำสถานการณ์ของฉันได้ว่าดิสก์เต็มหรือว่าไดเรกทอรีเซสชันมีไฟล์มากเกินไป
Giel Berkers

อันนี้ใช้ได้สำหรับฉัน !!
Ner

ในกรณีของฉัน: การเปลี่ยนที่เก็บข้อมูลเซสชันจาก db เป็นไฟล์ที่แก้ไขปัญหา
akgola

7
  1. เปิดไดเรกทอรีการติดตั้ง Magento ของคุณ ค้นหาและเปิดไฟล์ index.php
  2. ค้นหา error_reporting (E_ALL | E_STRICT); รหัส.
  3. แสดงความคิดเห็นออกมาเช่นนั้น:

    /*error_reporting(E_ALL | E_STRICT);*/

  4. และใช้รหัสต่อไปนี้แทน:

    error_reporting(E_ALL);

    $_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;

  5. ยกเลิกการใส่เครื่องหมายข้อคิดเห็นโดยลบเครื่องหมาย # ออกดังนั้นดูเหมือนว่า:

    ini_set('display_errors', 1);

  6. บันทึกไฟล์นี้และอัปโหลดไปยังเซิร์ฟเวอร์ โหลดหน้าเว็บไซต์ของคุณซ้ำเพื่อดูข้อผิดพลาด


6

อีกเหตุผลที่เป็นไปได้: ฮาร์ดไดรฟ์ / โวลุ่ม / โควต้าเต็มและข้อมูลเซสชันไม่สามารถเขียนลงดิสก์ได้ อาจดูเหมือนไม่น่าเกิดขึ้น แต่เพิ่งเกิดขึ้นเป็นครั้งที่สองสำหรับฉันและใช้เวลาสักครู่เพื่อคิดออก

ฉันไม่มีชื่อเสียงพอที่จะแสดงความคิดเห็น แต่ @Alan Storm บางทีคุณอาจต้องการที่จะใช้มันในรายการที่ยอดเยี่ยมของคุณ


6

ฉันเพิ่งมีปัญหาเดียวกันและเคล็ดลับง่าย ๆ สำหรับฉัน นอกจากนี้สำหรับผู้ที่ไม่สามารถเข้าถึงแผงควบคุมบนGoogle Chrome หากคุณสามารถทำงานกับ Mozilla Firefox ได้โปรดทำเช่นนั้นเพราะฉันเดาว่าปัญหานี้จะไม่เกิดขึ้นกับ Mozilla firefox

ดังนั้นวิธีแก้ปัญหาสำหรับ chrome คือ:

ไปที่System-> Configuration-> เว็บ ขยายแท็บไม่ปลอดภัยและปลอดภัย เปลี่ยน URL ฐานเป็นhttp://127.0.0.1/[Your folder name]หากคุณใช้ localhost หรือเปลี่ยนเป็น URL ของไซต์ซึ่งคุณกำลังเข้าถึงส่วนหน้า ฉันต้องลงชื่อเข้าใช้สองครั้งเพื่อไปที่แผงควบคุมตั้งแต่เมื่อฉันป้อนรายละเอียดเป็นครั้งแรกมันเพิ่งรีเฟรชและกลับมาที่หน้าเดียวกับที่คุณพูดถึงว่าเป็นการวนซ้ำ


5

เปิด phpMyAdmin ของคุณจากโฮสต์ลองคำสั่ง sql นี้

เรียกใช้ SQL นี้:

SET FOREIGN_KEY_CHECKS=0;
UPDATE core_store SET store_id = 0 WHERE code='admin';
UPDATE core_store_group SET group_id = 0 WHERE name='Default';
UPDATE core_website SET website_id = 0 WHERE code='admin';
UPDATE customer_group SET customer_group_id = 0 WHERE customer_group_code='NOT LOGGED IN';SET FOREIGN_KEY_CHECKS=1;

ตอนนี้ผู้ดูแลระบบสามารถเข้าสู่ระบบได้

โปรดติดตามสิ่งนี้:

หน้าผู้ดูแลระบบแสดงหน้า 404 ไม่พบ


1
อย่าลืมที่จะเปิดในหน้าต่างที่ไม่ระบุชื่อหรือเบราว์เซอร์อื่นสำหรับการลบเซสชัน
Martin

3

ฉันมีปัญหาเดียวกันและฉันแก้ไขได้โดยการลบไฟล์ทั้งหมดใน / var / session ฉันคิดว่าเป็นเพราะเซสชันจำนวนมากใน Magento!


3

รายการ Storm Alarm นั้นถูกต้องและมีรายละเอียด ต่อไปนี้เป็นกรณีเพิ่มเติมสองสามข้อ

  1. ในคนจรจัดตรวจสอบการอนุญาตของvar/sessionเครื่องโฮสต์ด้วย
    (ปัญหาการติดตั้ง)
  2. ตรวจสอบว่าดิสก์ของคุณเต็มหรือมีไฟล์มากเกินไปใน var / session
  3. เรียกใช้n98-magerun.phar sys:check(จับประเด็นปัญหารวมถึงโดเมนคุกกี้)
  4. เปลี่ยนเซสชันเป็นฐานข้อมูลโดยแก้ไข local.xml มันจะตัดปัญหาเรื่องการอนุญาตส่วนใหญ่โดยใช้ insidie<global>

    <session_save><![CDATA[db]]></session_save>

นอกจากนี้ยังจะแตกต่างกันไปของนามสกุลของบุคคลที่สาม (ส่วนขยายไฟร์วอลล์ / การรักษาความปลอดภัย) ตัวอย่างเช่นhttps://github.com/paimpozhil/MageFirewall/blob/master/app/code/community/MageFirewall/Firewall/Model/Observer.php#L53ทำให้คุณ ในบัญชีดำถ้าคุณลองหลายครั้งเกินไป

สามารถเกิดขึ้นได้หากเซสชั่นของคุณไม่ทำงานสำหรับปัญหาการอนุญาต แต่แล้วยังคงล้มเหลวแม้หลังจากที่คุณแก้ไขปัญหาเดิม

ในกรณีเฉพาะของคุณคอยดูadmin_session_user_login_successเหตุการณ์เนื่องจากโมดูลความปลอดภัย / ไฟร์วอลล์ส่วนใหญ่ใช้เหตุการณ์นี้ จับตาเป็นพิเศษหากตัวแปร$_SESSION['admin']ถูกรีเซ็ตโดยผู้สังเกตการณ์


2

สิ่งสำคัญคือคุณต้องมีคีย์ฟอร์มอยู่มิฉะนั้นฟอร์มของคุณจะไม่ได้รับการประมวลผล

<?php echo $this->getBlockHtml('formkey'); ?>

2

วิธีแก้ไขปัญหานี้อย่างง่าย ๆ คือใช้http://127.0.0.1เป็นชื่อโฮสต์แทน localhost

เนื่องจากปัญหาคือคุณไม่สามารถเข้าสู่ระบบผู้ดูแลระบบของคุณคุณควรเปลี่ยน URL ฐานที่ปลอดภัยและไม่ปลอดภัยในตารางฐานข้อมูล: core_config_data

สิ่งนี้จะทำให้ baseurl ของคุณตรวจสอบกับsys ของ n98-magerun: check


2

หากคุณกำลังพัฒนาlocalhostและตั้งค่าหรือเปลี่ยนชื่อโดเมนเป็นlocalhostอัปเดตcore_config_dataชื่อโดเมนตารางฐานข้อมูล127.0.0.1เป็น เช่นUPDATE core_config_data SET value="http://127.0.0.1/magento/" WHERE path="web/unsecure/base_url";


2

นอกจากนี้คุณสามารถอัปเดตรหัสผ่านในฐานข้อมูลได้หากทุกอย่างจากข้างบนใช้งานไม่ได้และคุณต้องการการเข้าถึงที่สิ้นหวัง:

UPDATE admin_user SET password=CONCAT(MD5('qXpassword'), ':qX') WHERE username=‘user’;

แทนที่คำผู้ใช้และรหัสผ่านตามความต้องการของคุณ


2

ก่อนอื่นให้ลองล้างแคชที่ฉันคิดและถ้าวิธีนี้ใช้ไม่ได้ให้ลองทำ chmod 700 ในโฟลเดอร์ var ของคุณ


1

คุณสามารถเปลี่ยนเบราว์เซอร์ของคุณอาจเป็นงานนี้สำหรับฉัน เมื่อข้อผิดพลาดนี้มาฉันได้เปลี่ยนเบราว์เซอร์ chrome เป็น firefox และใช้งานได้


0

สิ่งเดียวกันนี้เกิดขึ้นกับฉันเมื่อไม่นานมานี้และปัญหาของฉันมาจากเซสชัน ฉันไม่ได้มีมากพอที่พื้นที่ว่างในดิสก์var/เพื่อสร้างการประชุมและแคชจาก ฉันลบบางสิ่งและทุกอย่างทำงานได้ตามปกติ อาจจะช่วยใครซักคน

ไชโย


0

พยายามล้างแคชของคุณด้วยการล้างโฟลเดอร์ "var / cache" และ "var / session" ซึ่งจะช่วยแก้ปัญหาให้ฉันได้

ฉันต้องรีสตาร์ทเว็บเซิร์ฟเวอร์หลังจากนั้นอีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.