Je ne suis qu'un débutant dans le magento. J'ai installé magento sur mon hôte local. Après toute la configuration lorsque j'ai utilisé la page d'administration pour me connecter, je ne peux pas me connecter au navigateur Chrome, même avec mon nom d'utilisateur et mon mot de passe correct. Mais lorsque j'essaie de me connecter à firefox, il n'y a pas de problème. Alors, est-ce que quelqu'un peut vraiment m'aider ici à résoudre le problème?
Je pense qu’il ya un problème avec session cookie
avec le navigateur chrome . Il suffit donc de parcourir ce répertoire /app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
fichier Et de commenter la ligne 85 à 92 dans magento (1.7.2 dans mon cas). Comme ça
// session cookie params
/* $cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly()
);
*/
après cela, essayez de vous connecter à partir de votre backend. J'espère que vous pourrez vous connecter avec chrome. Cela va certainement vous aider. Si vous êtes toujours confronté au problème, répondez-moi.
essayez d'utiliser 127.0.0.1 lorsque vous configurez magento dans localhost. J'ai aussi rencontré le même problème, c'est la solution que l'on a faite et ça marche bien.
À partir de System -> Configuration -> General -> Web
, définissez l'URL de base non sécurisée et sécurisée avec l'adresse IP. Et essayez de vous connecter à nouveau.
Allez dans Fichier à cet emplacement: - app\code\core\Mage\Core\Modèle\Session\Abstract\Varien.php
Et commentant ce qui suit (lignes 85 à 102);
// session cookie params
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath()//,
//'domain' => $cookie->getConfigDomain(),
//'secure' => $cookie->isSecure(),
//'httponly' => $cookie->getHttponly()
);
//if (!$cookieParams['httponly']) {
// unset($cookieParams['httponly']);
// if (!$cookieParams['secure']) {
// unset($cookieParams['secure']);
// if (!$cookieParams['domain']) {
// unset($cookieParams['domain']);
// }
// }
//}
Et utilisez vos identifiants pour vous connecter. J'espère que cela fonctionnera pour vous !!!
Lorsque cela se produit avec moi, le problème vient du fait que je déplace un répertoire mais que les fichiers .HTACCESS du contenu principal n’ont pas été déplacés vers un nouveau chemin.
Vérifiez si votre fichier .htaccess est dans le contenu principal.
Il est également important que vous ayez une clé de formulaire, sinon votre formulaire ne sera pas traité.
<?php echo $this->getBlockHtml('formkey'); ?>
Si vous utilisez Magento 1.9, le fichier doit être légèrement différent:
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath()/*,
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly()*/
);
/*if (!$cookieParams['httponly']) {
unset($cookieParams['httponly']);
if (!$cookieParams['secure']) {
unset($cookieParams['secure']);
if (!$cookieParams['domain']) {
unset($cookieParams['domain']);
}
}
}*/
J'ai Magento ver. 1.14.2.1
changer varien.php n'a pas résolu mon problème.
la saisie de 127.0.0.1
au lieu de localhost
dans l'URL de base Web de la configuration du tableau de bord a résolu mon problème.
Je peux toujours entrer localhost dans l'URL et il le redirige automatiquement vers l'URL au format IP.
Magento voit cookie_domain
sur la table core_config_data
lorsque vous essayez de vous connecter. S'il diffère de votre domaine, vous ne pouvez pas entrer dans votre panneau d'administration, il suffit d'actualiser la page, aucune erreur ne se produit.
Ouvrez la table core_config_data
à partir de votre base de données et recherchez ou filtrez la colonne path
pour web/cookie/cookie_domain
et modifiez-la en null ou votre domaine.
C'est ma solution simple qui m'a aidé dans la même situation. Essayez-le pendant 60 secondes de votre temps.
Dans Google Chrome , dans Outils de développement (cliquez avec le bouton droit de la souris sur un élément de page et sélectionnez Inspecter un élément), accédez à l'onglet Ressources -> Cookies . Supprimer le cookie supplémentaire de votre domaine d'origine. Ou définissez votre domaine d'URL de base sur quelque chose d'autre ou changez le port.
Pour Magento 2
Au lieu de localhost sur votre WAMP, veuillez utiliser http://127.0.0.1
{dossier chemin}\magento2\vendor\magento\zendframework1\library\Zend\Session.php
Aller à & commenter comme mentionné
public static function rememberUntil($seconds = 0)
{
if (self::$_unitTestEnabled) {
self::regenerateId();
return;
}
$cookieParams = session_get_cookie_params();
session_set_cookie_params(
$seconds,
//$cookieParams['path'],
//$cookieParams['domain'],
//$cookieParams['secure']
);
// normally "rememberMe()" represents a security context change, so should use new session id
self::regenerateId();
}
connectez-vous en tant qu'administrateur avec Internet Explorer ou un autre utilisateur. vider toutes les caches .. Et vous pourrez vous connecter en utilisant chrome. Vous pouvez vous connecter sans modifier aucun code
appliquez simplement le commentaire ici .... emplacement du fichier:\app\code\core\mage\core\modèle\session\abstract\varien.php
/*
// session cookie params
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly()
);
*/
Comme le soulignait la réponse acceptée, le problème réside dans chrome lorsque vous accédez à Magento sur un hôte local. Enveloppez le code dans leapp/code/core/Mage/Core/Model/Session/Abstract/Varien.php
avec l'extrait suivant et le tableau de paramètres de session ne sera réinitialisé que si vous êtes sur l'hôte local (IP'127.0.0.1 'ou' :: 1 ').
// SNIPPET Part 1: add this before the original array definition
// -----------------------------------------------------------
if(in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) {
$cookieParams = array();
} else {
// here comes the original code, thats what you should
// look for but not touch
// -------------------------------------------------------
// session cookie params
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly()
);
// SNIPPET Part 2: add the closing bracket
// ------------------------------------------
}