Невозможно войти в бэкэнд Magento

  1. Автор Джисс Рейтсма
  2. Localhost
  3. Домен cookie
  4. Безопасные или незащищенные URL
  5. Удаление и перенастройка
  6. Проверьте ваши права доступа к файлам
  7. Сохранить сеансы в базе данных

Изменено 15 декабря 2012 г.

Написано 02 февраля 2010

Когда вы переносите свой веб-сайт Magento из другого местоположения или меняете доменное имя, под которым он работает, вы можете столкнуться с проблемой, из-за которой вы больше не можете войти в админ-панель Magento. Вот различные решения этой проблемы.

Автор Jisse Reitsma, основатель Yireo, разработчик Magento Master 2017, тренер разработчиков

Автор Jisse Reitsma, основатель Yireo, разработчик Magento Master 2017, тренер разработчиков

Автор Джисс Рейтсма

Jisse является основателем Yireo и разработчиком расширений для Magento 1, Magento 2 и Joomla. Он является инструктором разработчиков фронтендов и бэкэндов в Magento 2, часто выступает на конференциях разработчиков и организует различные мероприятия, такие как MageTestFest а также Reacticon , Он также должен быть членом Zend Z Team , И ему было присвоено звание Magento Master "Mover" 2017 из-за его вклада.

Localhost

Одной из причин сбоя входа в Magento может быть то, что вы заходите на сайт Magento через имя хоста localhost . Magento проверяет, является ли имя хоста реальным доменным именем, и если это не так, оно не может создать правильные куки.

Единственный обходной путь - обмануть Magento, думая, что используется настоящее доменное имя. В Linux или MacOS вы можете попробовать использовать localhost.localdomain , но в Windows вам потребуется изменить файл hosts для этого. Проще просто использовать IP-адрес 127.0.0.1 для доступа к Magento.

Если вы используете удаленный веб-сервер, эта проблема вряд ли возникнет.

Домен cookie

Если вы переместили свой сайт, это может быть связано с файлами cookie. Убедитесь, что вы очистили кеш вашего браузера и удалили все бэкэнд-куки Magento, чтобы посмотреть, поможет ли это.

Другой причиной, по которой вы не можете войти в систему, могут быть некоторые настройки в конфигурации Magento. Чтобы изменить это, вам нужно будет открыть базу данных MySQL, например, с помощью phpMyAdmin . Перейдите в базе данных Magento к таблице MySQL core_config_data и найдите строку с путем к полю, для которого установлено значение web / cookie / cookie_domain . Может быть несколько записей, но тот, для которого scope_id установлен в 0, должен соответствовать имени домена, которое вы используете для доступа к Magento.

Если таблица базы данных core_config_data не содержит строки с путем, указанным как web / cookie / cookie_domain , не добавляйте ее, потому что она вам не нужна. Если вы найдете несколько записей, будьте осторожны с тем, что изменить, потому что вы можете полностью сломать ваш сайт Magento.

Если вы используете префикс таблицы базы данных, таблица core_config_data может фактически быть uii44_core_config_data или чем-то похожим. Это мешает хакеру атаковать ваш сайт Magento (атаки с использованием SQL-инъекций).

Безопасные или незащищенные URL

Другая проблема может заключаться в том, что так называемые безопасные URL-адреса и / или незащищенные URL-адреса не соответствуют текущему имени хоста. В этом случае Magento все равно пытается перенаправить на исходное имя хоста. Так что внимательно следите за именем хоста в адресной строке браузера.

В той же таблице MySQL core_config_data вы можете найти различные записи с путем, начинающимся с web / secure / base или web / unsecure / base . Они также должны указывать на правильное имя хоста. Обратите внимание, что число вхождений может варьироваться от 0 (ничего не настроено) до 10 (все настроено).

Удаление и перенастройка

Вместо того, чтобы пытаться правильно установить значения, указанные выше, что может быть большой работой, вы также можете удалить эти записи и начать все сначала. Для этого вы можете использовать следующие SQL-запросы:

DELETE * FROM `core_config_data` WHERE` path` = "web / cookie / cookie_domain"
DELETE * FROM `core_config_data` WHERE` path` LIKE "web / secure / base%"
DELETE * FROM `core_config_data` WHERE` path` LIKE "web / unsecure / base%"

Проверьте ваши права доступа к файлам

Также стоит взглянуть на разрешения вашей среды хостинга. Папка var / cache в вашей установке Magento должна быть доступна для записи на веб-сервере, чтобы можно было создавать новые файлы сессий. Если папка недоступна для записи, никто не сможет войти.

Сохранить сеансы в базе данных

Вместо того, чтобы фиксировать права доступа к файлам, вы также можете хранить сеансы в базе данных. Вы можете сделать это, отредактировав файл app / etc / local.xml . Убедитесь, что у вас есть хорошая резервная копия этого файла, и следуйте точному синтаксису, как показано ниже.

Найдите строку, начинающуюся с <session_save>, и измените файлы слов на db. Итак, следующее:

<Session_save> <! [CDATA [файлы]]> </ session_save>

должен стать:

<Session_save> <! [CDATA [дБ]]> </ session_save>

Сохраните файл, и сессии будут сохранены в базе данных. Обратите внимание, что это изменение может иметь последствия и для производительности.