Я установил Magento 1.9 . Это работало хорошо в течение недели. Вдруг вчера, когда я попытался войти в панель администратора Magento и я напечатал username
и password
, нажал кнопку Вход и ничего не произошло. Страница обновляется и все. Нет ошибок или каких-либо других сообщений.
Если я ввел неправильное имя пользователя или пароль, это показывает ошибку.
После того, как я погуглил об этой проблеме, мне рекомендовали прокомментировать следующие строки в:
Приложение \ код \ ядро \ Mage \ Ядро \ Model \ 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).
источник
app/code/local/Mage/Core..blahblah
для редактирования, чтобы Magento переопределял основной файл. Также используйте git для контроля версий, это находка.Ответы:
Перестаньте так модифицировать основной код - это может временно решить проблему, но это может создать будущие проблемы, которые будет почти невозможно отследить.
Существует ряд различных проблем, которые вызывают поведение входа администратора без ошибок, но все они возвращаются к тому, что Magento не может установить или прочитать файл cookie сеанса. Magento использует сеансы для передачи сообщений об ошибках между страницами - поэтому вы не видите сообщение об ошибке. Magento также использует сеансы для хранения значения «залогинен», поэтому не задание сеансов также приводит к возникновению ошибки ядра.
Возможные причины включают
Время локального компьютера и время сервера не совпадают, что приводит к немедленной отмене cookie. Убедитесь, что время на вашем сервере правильное.
Неправильные разрешения
var/session
, препятствующие сохранению файлов сеансаНеправильная конфигурация базы данных / redis / другого хранилища сеанса, препятствующая сохранению значений сеанса
Модуль создает экземпляры сеансов на ранней стадии , предотвращая установку правильных имен сеансов
Вы разработчик, использующий несколько URL-адресов и имеющий несколько доменов cookie
Другой разработчик как-то модифицировал
app\code\core\Mage\Core\Model\Session\Abstract\Varien.php
, создав трудно выявляемую ошибкуДомен cookie в
System -> Configuration -> Web -> Session Cookie Management
не соответствует фактическому домену сайта.Вы используете
localhost
домен своего сервера и используете версию webkit, в которойlocalhost
в некоторых ситуациях возникают проблемы / ошибки при настройке файлов cookie .Краткосрочное исправление состоит в том, чтобы просто удалить ваш файл cookie для домена. Этого достаточно, чтобы решить проблему. Если это не помогло, выясните, какая из приведенных выше причин является причиной вашей ошибки, и примите меры для ее устранения (исправьте разрешения и т. Д.)
источник
У меня те же симптомы на некоторых установках Magento (не только 1.9). В моем случае это происходит только в Chrome. Я исправляю это, войдя в Firefox / Safari / Opera и изменив «Использовать только HTTP» на «Нет» в «Управление сессионными файлами cookie» в настройках «Веб».
источник
Use HTTP only
кNo
панели администратора. Вы можете напрямую запустить этот SQL-запрос: UPDATE__DATABASE_NAME__
.core_config_data
SETvalue
= '0' ГДЕcore_config_data
.path
= 'web / cookie / cookie_httponly';У меня тоже была эта пробема. Полученные сеансы не могут быть записаны
var/session
, даже если сам каталог установлен в0777
. Magento создал файлы сессий, но все они остались нулевыми байтами.Изменение памяти сеанса от
files
доdb
решена проблема для меня.источник
Прокомментируйте это так:
/*error_reporting(E_ALL | E_STRICT);*/
И используйте вместо этого следующий код:
error_reporting(E_ALL);
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
Раскомментируйте его, удалив знак #, чтобы он выглядел так:
ini_set('display_errors', 1);
Сохраните этот файл и загрузите на сервер. Перезагрузите страницу вашего сайта, чтобы увидеть ошибки.
источник
Другая возможная причина: жесткий диск / том / квота заполнены, поэтому данные сеанса не могут быть записаны на диск. Может показаться маловероятным, но просто случилось со мной во второй раз и потребовалось время, чтобы разобраться.
У меня недостаточно репутации, чтобы комментировать, но @Alan Storm, может быть, вы хотите взять это в свой превосходный список.
источник
У меня недавно была та же проблема, и у меня сработал простой трюк. Также это для людей, которые не могут получить доступ к панели инструментов в Google Chrome . Если вы можете работать с Mozilla Firefox, сделайте это, потому что я полагаю, что эта проблема не сохраняется в Mozilla Firefox.
Таким образом, решение для хрома:
Перейдите в Система-> Конфигурация-> Интернет . Разверните вкладку Небезопасный и безопасный . Измените базовый URL-адрес,
http://127.0.0.1/[Your folder name]
если вы используете localhost, или измените его на URL-адрес своего сайта, через который вы получаете доступ к веб-интерфейсу. Мне пришлось дважды войти в систему, чтобы попасть на панель инструментов, поскольку, когда я вводил данные в первый раз, она просто обновляется и возвращается на ту же страницу, на которой вы упомянули ее как зацикленную.источник
Откройте phpMyAdmin с вашего хоста, попробуйте один раз эту команду sql.
Запустите этот SQL:
Теперь администратор может войти в систему.
Пожалуйста, следуйте этому:
Страница администратора показывает 404 страницы не найдены
источник
У меня была такая же проблема, и я решил ее, удалив все файлы в / var / session. Я думаю, это потому что слишком много сеансов в Magento!
источник
Список Alarm Storm является правильным и подробным. Вот пара дополнительных случаев.
var/session
на хост-машине тоже(проблемы с монтажом)
n98-magerun.phar sys:check
(ловит проблемы, включая cookie-домен)Измените сеанс на базу данных, отредактировав local.xml. Это исключит большинство проблем с разрешениями при использовании insidie
<global>
Также вы можете выбрать сторонние расширения (брандмауэр / расширения безопасности), например, https://github.com/paimpozhil/MageFirewall/blob/master/app/code/community/MageFirewall/Firewall/Model/Observer.php#L53 помещает вас в черный список, если вы пытаетесь слишком много раз.
Может произойти, если ваш сеанс изначально не работает для разрешения проблем, но затем продолжает сбой даже после устранения исходной проблемы
В вашем конкретном случае следите за
admin_session_user_login_success
событием, так как большинство модулей безопасности / брандмауэра используют это событие. Особенно следите, если переменная$_SESSION['admin']
сбрасывается наблюдателямиисточник
Также важно, чтобы у вас был ключ формы, иначе ваша форма не будет обработана.
источник
Простое решение этой проблемы - использовать http://127.0.0.1 в качестве имени хоста вместо localhost.
Поскольку проблема заключается в том, что вы не можете войти в систему для своего администратора, вы должны изменить безопасные и незащищенные базовые URL-адреса в таблице базы данных: core_config_data
Это также будет проверять ваш baseurl с sys n98-magerun: check
источник
Если вы разрабатываете
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";
источник
Кроме того, вы можете обновить пароль в базе данных, если все остальное сверху не сработало и вам нужен отчаянный доступ:
заменить слова пользователя и пароль в соответствии с вашими потребностями.
источник
Прежде всего, попробуйте очистить ваш кеш, я думаю, и если это не работает, попробуйте сделать chmod 700 в вашей папке var.
источник
Вы можете изменить свой браузер, может быть, эта работа для меня. Когда появляется эта ошибка, я переключаю браузер Chrome на Firefox, и он работает.
источник
То же самое случилось со мной некоторое время назад, и моя проблема возникла после сеанса. У меня не было достаточно места на диске для создания сеансов и кеша
var/
. Я удалил некоторые вещи, и все работало после. Может быть, это кому-то поможет.ура
источник
Попробуйте очистить кеш, опустошив папки «var / cache» и «var / session», это решило это для меня.
Я также должен был перезапустить веб-сервер после этого один раз.
источник