Не удается войти в Magento admin
У меня есть magento, установленный в подкаталоге. www.domain.com/subdir/magento
Этот сайт отлично работал в один момент. Я ничего не изменил, пока мой клиент не сказал, что не может войти в magento admin.
Я очень хорошо входил в систему с моего компьютера, но на своем компьютере он просто перенаправлялся обратно на логин администратора 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, и у нее много свободного места.
Итак, я почти потерялся, задаваясь вопросом, почему это произошло в первую очередь, когда оно работало раньше (ничего не меняя), и почему это так сложно?
Любая помощь оценена
Ответы
Ответ 1
Я никогда не разрешал проблему. Но я вытер клиентский компьютер и переустановил Windows 7, и он сработал. Было очень странно, что он не работал раньше, поскольку он не был за прокси-сервером, не имел рекламы или вирусов. И проблема воспроизводится в каждом из его браузеров (chrome firefox и IE). Это не проблема маршрутизатора. Это была проблема с окнами, но я не мог сказать вам, что именно вызвало это. Это были не настройки безопасности в Интернете, так как я проверил их. Также проверен файл хоста. Как я уже говорил, очень озадаченно
Ответ 2
Если сообщение об ошибке входа ( "неверный пароль" и т.д.) не отображается, это почти всегда проблема с cookie сеанса. Чтобы полностью изменить его, используйте Использовать просмотрщик cookie браузера и/или ваш любимый сниффер трафика HTTP и проверьте
-
Чтобы все cookie имели правильные даты истечения срока действия после установки
-
Что cookie сеанса имеет согласованное имя/значение токена для каждого запроса
-
Этот PHP при работе с Magento имеет различные настройки времени жизни сеанса при разумном значении
-
Этот PHP может записывать все, что он использует в качестве хранилища файлов cookie
-
То, что время сервера совпадает с реальным временем, и что у самого PHP есть набор часовых поясов
Ответ 3
Найти приложение/код/ядро /Маг/Ядро/Модель/Сессия/Аннотация/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();
// }
-
Убедитесь, что в вашем браузере есть файлы cookie, попробуйте несколько
различные браузеры, включая Safari или Opera. Chrome предоставит некоторые
проблемы, и вам нужно помнить, что вы очищаете кеш в Chrome после
внесение изменений!
-
Убедитесь, что для разрешений для файлов установлено значение EVERYONE - FULL CONTROL для Windows и 777 для вашей среды Mac/Linux. Если все это не работает, вы можете попробовать следующее: (Я не рекомендую это решение для производственной версии от Magento, но для вас локальная среда тестирования будет работать.)
- Проверьте версию php, которую вы используете. Если вы используете недавний Magento, попробуйте найти версию PHP и расширения.
Подробнее
Ответ 4
Вы удалили хранилище сеансов в каталоге var?
В моем случае, когда я играл с авторизованием для multistore на поддоменах (измененный путь и домен для cookie, как и вы), этот метод помог мне сбросить "плохой" cookie и успешно войти в админ:
В каталоге apppath/var/session я сделал команду в оболочке (будьте осторожны с путём, это может удалить все файлы в каталоге)
rm -rf /path/to/magento/var/session/*
А затем просто очистите файл cookie для домена в браузере.
Ответ 5
Я сегодня борюсь с этой проблемой на моем локальном сервере. Я не мог войти в систему с помощью любого браузера. Я действительно не хотел комментировать любые строки в основных файлах или делать какие-либо другие "грязные" решения.
Сначала я проверил cookie, установленный браузером. У него было истечение срока до 1970 года, так что это явно проблема с печеньем.
Я проверил значения для файлов cookie в базе данных magento. В phpmyadmin я нашел таблицу core_config_datastrong > , затем поля со значениями: web/cookie/cookie_domain и web/cookie/cookie_path. Они оба были пустыми.
Моим решением было установить:
web/cookie/cookie_domain для моего доменного имени
и
web/cookie/cookie_path в /.
Пример:
в вашем домене, где вы запускаете magento, находится magento.local
набор:
web/cookie/cookie_path = magento.local
и
web/cookie/cookie_path =/
Ответ 6
У меня была та же проблема, но я работал над XAMPP на окнах 7 x64.
В системе Magento - настройка - изменение настроек cookie в веб-сеансе Использовать только HTTP до no
и Время в Cookie 86400
.
Я только изменил срок жизни Cookie, как раз в случае летнего времени, возможно, не нужно менять.
До изменений я мог только войти в систему с помощью Firefox, и после изменений все браузеры работают.
Оставьте путь к файлу cookie и домен cookie.
Ответ 7
Проверьте конфиги cookie в таблице core_config_datastrong > и проверьте, сохранен ли ваш сеанс на db. В моем случае кто-то просто изменил домен cookie и путь к файлу cookie с неправильным значением.
Вы также можете проверить это на node в своем приложении /etc/local.xml.
Если это на db, возможно, вам следует изменить файлы do, чтобы иметь возможность очищать данные сеанса непосредственно в каталоге var/session.
Ответ 8
Удалите файлы cookie (связанные с вашим доменом) из настроек вашего браузера.
Ответ 9
Я столкнулся с одной проблемой, и в конце я обнаружил, что это связано с полным дисковым пространством, и из-за этого Magento не смог создать файл сеанса в папке var var/session. После очистки журнальных файлов проблема была решена.
Ответ 10
Кроме того, вы можете обновить пароль в базе данных, если все остальное сверху не работает, и вам нужен отчаянный доступ:
UPDATE admin_user SET password=CONCAT(MD5('qXpassword'), ':qX') WHERE username=‘user’;
заменить слова пользователя и пароля в соответствии с вашими потребностями.
Ответ 11
Если ничего не работает, убедитесь, что квота диска не превышена. Новые файлы cookie сеанса, созданные в формате. /var/session, будут иметь длину 0 байт, если превышена дисковая квота для пользователя.
Ответ 12
В случае, если вы не видите cookie с именем "frontend" или "adminhtml", при перезагрузке страницы, cookie Magento не был установлен. В моем случае у меня неправильный cookie_domain.
Я использовал "null" вместо "NULL".
Когда я установил cookie_domain
в NULL
в core_config_data
, проблема была решена.