Я использую версию сообщества magento 1.7.0.2. Я не могу войти в серверную часть magento. Я знаю, что эта проблема может быть связана с тем, что Chrome не принимает файлы cookie. Но как это исправить, помогите. Спасибо
Почему я не могу войти в бэкенд magento с помощью google chrome
Ответы (9)
Одно простое решение — выполнить установку с помощью браузера Opera и использовать его для входа в систему, поскольку он сам сохраняет файлы cookie. Оно работает!
Если вы включили https для административной панели Magento, обязательно установите «НЕТ» для параметра «Использовать только HTTP» в System->configuration- >веб->Управление сессиями и файлами cookie».
Если у вас есть доступ к базе данных, откройте таблицу "core_config_data" и найдите путь "web/cookie/cookie_httponly" и установите значение "0".
Обязательно удалите папку var/cache. Теперь попробуйте войти в панель администратора Magento. В основном вы можете сейчас. Если нет, напишите о своей проблеме в этой теме.
Таким образом, эта проблема «Не удается войти в панель администратора Magento» в основном связана с настройками файлов cookie Magento. Так что не волнуйтесь, если вы столкнетесь с этой крошечной проблемой. Со списком ответов в этой теме вы можете легко разобраться в этом за несколько минут.
Для этого есть два решения, любое из них будет работать:
- Измените конфигурацию времени жизни куки. Перейдите в бэкенд -> Система -> Конфигурация -> Интернет -> Управление сессиями и куки. Установите время жизни куки на 86400 и сохраните его.
- Перейдите в файл app/code/core/Mage/Core/Model/Session/Abstract/Varien.php в вашем каталоге magento.
Найдите код:
session_set_cookie_params(
$this->getCookie()->getLifetime(),
$this->getCookie()->getPath(),
$this->getCookie()->getDomain(),
$this->getCookie()->isSecure(),
$this->getCookie()->getHttponly()
);
или
// session cookie params
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly()
);
и заменить на
session_set_cookie_params(
$this->getCookie()->getLifetime(),
$this->getCookie()->getPath()
//$this->getCookie()->getDomain(),
//$this->getCookie()->isSecure(),
//$this->getCookie()->getHttponly()
);
или
// session cookie params
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath()
// 'domain' => $cookie->getConfigDomain(),
// 'secure' => $cookie->isSecure(),
// 'httponly' => $cookie->getHttponly()
);
После этого сохраните файл.
На данный момент это лучшее решение, чем изменение кода в другом месте http://iamtheshadowonthesun.blogspot.com/2012/10/magento-cannot-login-to-admin-panel.html
Используя phpMyAdmin, в базе данных magento найдите таблицу core_config_data и щелкните по ней. Щелкните вкладку «Поиск». Затем в столбце «путь» установите оператор НРАВИТСЯ %...% и значение для файла cookie и нажмите кнопку «Перейти» для поиска.
После поиска установите для параметров web/cookie/cookie_path, web/cookie/cookie_domain, web/cookie/cookie_httponly и web/browser_capabilities/cookies значение NULL.
то, что сработало для меня, это то, что Haijerome, к сожалению, я не могу войти в бэкэнд, чтобы изменить конфигурацию. Это то, что я выполняю всякий раз, когда устанавливаю новый свежий magento:
insert into core_config_data(scope, scope_id, path, value) values("default", "0", "web/cookie/cookie_httponly", "0");
тогда:
rm -Rf var/cache/mage--*
Наши пользователи Chrome не могли добавлять товары в свою корзину... изменение срока службы файлов cookie на рекомендуемое значение 86400 устранило проблему.
Сообщество Magento 1.7
Спасибо!
Джефф
проблема в том, что хром не хранит файл cookie для входа, это можно увидеть, посмотрев файлы cookie в chrome | настройки | содержание | продвинутый | все файлы cookie и данные сайта
вероятно, есть ряд причин, по которым это может произойти, время жизни куки наверняка является одной из них.
лично я столкнулся с этой проблемой при запуске magento в localhost/на виртуальной машине и подключении из браузера на той же машине. в частности, проблема заключается в том, что хром не будет хранить файлы cookie, если доменное имя не указано. поэтому, если ваше доменное имя 'http://localhost/magento' или 'http://somename/magento', chrome не сохранит cookie, и, следовательно, вы не сможете войти в систему.
вот исправление:
для простоты я придерживаюсь примера, где magento работает на локальном хосте. тот же трюк будет работать, если magento работает на виртуальной машине, и вы получаете доступ с локального хоста, но в таком случае вам нужно изменить файл hosts как на гостевой ОС, так и на клиенте. (и помните, что гостевой ip может меняться, поэтому время от времени вам нужно обновлять файл hosts на хосте)
сначала выберите свое доменное имя. это только на местном уровне, поэтому вам не нужно регистрироваться. я выбираю «dansmagentodev.com». затем в пурпурном | система | web изменить baseurl как в безопасном, так и в небезопасном режиме, чтобы он был http://dansmagentodev.com/magento/
затем в том же месте измените «домен cookie» управления файлами cookie сеанса на «dansmagentodev.com».
Далее нам нужно настроить вашу систему, чтобы она знала, что dansmagentodev.com действительно является локальным хостом. мы делаем это через файл hosts. в Windows этот файл находится в C:\Windows\System32\drivers\etc\hosts. ваша программа проверки на вирусы, вероятно, попытается помешать вам изменить ее (по уважительной причине отключите программу проверки на вирусы, пока вы вносите изменения). затем добавьте строку 127.0.0.1 dansmagentodev.com
А теперь войдите из хрома.
Моя проблема заключалась в том, что сервер, на котором я работал, был новой установкой Ubuntu с очень небольшой конфигурацией обслуживания сервера.
Он не обновил дату и время, и он отставал на 3 часа.
Из-за этого файлы cookie, полученные Chrome, выглядели так, как будто они уже просрочены, поэтому Chrome их отбрасывал.
Если на фаерфоксе работает. Тогда проблема в файлах cookie на Chrome, попробуйте очистить файл cookie вашего Chrome.