Не могу войти в админку Magento - PullRequest
11 голосов
/ 31 января 2012

У меня установлен magento в подкаталог.www.domain.com/subdir/magento

Этот сайт отлично работал в одной точке.Я ничего не менял, пока мой клиент не сказал, что он не может войти в систему как администратор magento.

Я только что вошел в систему со своего компьютера, но на его компьютере он просто перенаправил обратно в систему входа в систему magento без сообщения об ошибке иURL, который выглядел глупо, как это:

http://domain.com/subdir/magento/index.php/admin/index/index/key/3097210b826ac4a86d7531cb4089c9d0/

Я думал, что его куки блокировались, но это не так.

Мои настройки magento были безопасными / небезопасными baseurl: http://domain.com/subdir/magento/

web cookie path: (blank)
web cookie domain: (blank)

После очистки var / cache я обнаружил, что и сам не могу войти в систему администратора, с тем жеточная проблема.

Я безуспешно пробовал следующие настройки:

path: /
domain: domain.com

path: /subdir/magento
domain: vigrond.com

Я также пытался закомментировать эти строки в Varien.php, но это также не имело никакого эффекта.

Моя учетная запись на сервере является VPS, и на ней достаточно свободного места.

Так что я в значительной степени растерялся, удивляясь, почему это произошло в первую очередь, когда это работало раньше (ничего не изменилось), ипочему это так сложно?

Любая помощь приветствуется

Ответы [ 12 ]

15 голосов
/ 31 января 2012

Если сообщение об ошибке входа в систему («неверный пароль» и т. Д.) Не отображается, это почти всегда проблема с файлом cookie сеанса. Чтобы полностью исключить его, используйте «Использовать просмотрщик cookie вашего браузера и / или ваш любимый анализатор трафика HTTP и установите флажок

  1. Что все куки имеют правильные даты истечения после установки

  2. То, что cookie-файл сеанса имеет согласованное имя / значение токена для каждого запроса

  3. Этот PHP при запуске через Magento имеет различные настройки ini времени жизни сеанса на приемлемом значении

  4. Этот PHP может писать на все, что он использует в качестве носителя для хранения файлов cookie

  5. То, что время сервера соответствует реальному времени, и что у самого PHP установлен часовой пояс

11 голосов
/ 30 мая 2013

Найти приложение / код / ​​ядро ​​/ маг / ядро ​​/ модель / сессия / аннотация / Varien.php.в вашей папке установки Magento.Закомментируйте строки (см. Ниже) от 80 до 83. Номер строки может отличаться.

    // set session cookie params
    session_set_cookie_params(
        $this->getCookie()->getLifetime(),
        $this->getCookie()->getPath()//,
        //dependes which versin of mage you are using, you may comment these as well
        //$this->getCookie()->getDomain(),
        //$this->getCookie()->isSecure(),
        //$this->getCookie()->getHttponly()
    );

Это проблема кэширования.Какое недавно сообщество Magento подтвердило, что отсортировано, но это не так.:)

Просто очистите кеш и выполните все действия, которые должны работать в любом случае.

Прокомментируйте также эти строки

//        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();
//        }
  • Убедитесь, что у вас естькуки включены в вашем браузере, попробуйте несколько различных браузеров, включая Safari или Opera.Chrome создаст некоторые проблемы, и вам нужно помнить, что после внесения изменений необходимо очистить кэш в Chrome!

  • Убедитесь, что для файлов установлены разрешения КАЖДОЕ - ПОЛНОЕ УПРАВЛЕНИЕ для Windows и 777 для вашегоСреда Mac / Linux Если все, что все еще не работает, вы можете попробовать это: (Я не рекомендую это решение для рабочей версии Magento, но для вашей локальной среды тестирования это будет работать.)

  • Проверьте версию php, которую вы используете.Если вы используете последнюю версию Magento, попробуйте найти, какая версия PHP и расширения требует.

Подробнее

4 голосов
/ 05 марта 2012

Стерли ли вы хранилище сеансов в каталоге var?

В моем случае, когда я играл с авторизацией для мульти-хранилища на поддоменах (изменил путь и домен для cookie, как вы это сделали), этот метод помог мнеудалите «плохой» cookie и успешно залогиньтесь в admin:

В каталоге apppath / var / session я сделал команду в оболочке (будьте осторожны с путем, это может удалить все файлы в каталоге)

rm -rf /path/to/magento/var/session/*

А затем просто очистите куки для домена в браузере.

1 голос
/ 18 июня 2014

Я боролся с этой проблемой сегодня на моем локальном сервере. Я не мог войти, используя любой браузер. Я действительно не хотел закомментировать какие-либо строки в файлах ядра или делать какие-либо «грязные» решения.

Сначала я проверил cookie, установленные браузером. У него был срок действия, установленный на 1970, так что, очевидно, это была проблема с cookie.

Я проверил значения файлов cookie в базе данных magento. В phpmyadmin я нашел таблицу core_config_data , затем поля со значениями: web / cookie / cookie_domain и web / cookie / cookie_path . Они оба были пустыми.

Мое решение было установить:

web / cookie / cookie_domain на мое доменное имя

и

web / cookie / cookie_path to /.

Пример:

домен, в котором вы запускаете magento - magento.local комплект:

web / cookie / cookie_domain = magento.local

и

web / cookie / cookie_path = /

1 голос
/ 09 марта 2012

Я так и не решил проблему. Но я вытер клиентский компьютер и переустановил Windows 7, и все заработало. Было очень странно, что раньше он не работал, так как он не был за прокси-сервером, не имел рекламы или вирусов. И проблема воспроизводится в каждом из его браузеров (Chrome Firefox и IE). Это не было проблемой роутера. Это была проблема с окнами, но я не мог сказать вам, что именно вызвало это. Это были не настройки интернет-безопасности, как я их проверил. Также проверил файл хоста. Как я уже говорил, очень сбивает с толку

0 голосов
/ 12 мая 2016

Если ничего не работает, убедитесь, что квота диска не превышена. Файлы cookie нового сеанса, созданные в ./var/session, будут иметь длину 0 байт, если квота диска для пользователя будет превышена.

0 голосов
/ 06 февраля 2016

В случае, если вы не видите никаких файлов cookie с именем «frontend» или «adminhtml», при перезагрузке страницы cookie Magento не был установлен.В моем случае у меня неправильный cookie_domain.Я использовал «null» вместо «NULL».

Когда я установил cookie_domain на NULL в core_config_data, проблема была решена

0 голосов
/ 08 октября 2015

Кроме того, вы можете обновить пароль в базе данных, если все вышеперечисленное не сработало и вам нужен отчаянный доступ:

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

замените слова пользователя и пароль в соответствии с вашими потребностями.

0 голосов
/ 18 мая 2015

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

0 голосов
/ 08 марта 2015

Удалите файлы cookie (связанные с вашим доменом) из настроек вашего браузера.

...