私はmagentoの初心者です。 localhostにmagentoをインストールしました。管理ページを使用してログインしたすべてのセットアップの後、正しいユーザー名とパスワードを使用してもchromeブラウザーでログインできません。しかし、Firefoxでログインしようとすると問題はありません。だれかが本当に私を助けて問題を解決できるでしょうか。
chromeブラウザでsession cookie
に問題があると思います。このディレクトリ/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
ファイルを調べて、magentoの85から92までの行をコメントアウトしてください( 1.7.2私の場合)このように
// session cookie params
/* $cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly()
);
*/
その後、バックエンドからログインしてください。 Chromeでログインできることを願っています。これは間違いなくあなたを助けます。それでも問題が解決しない場合は、返信してください。
localhostでmagentoをセットアップするときに127.0.0.1を使用してみてください。私も同じ問題に遭遇しました。それが解決策であり、うまく機能します。
System -> Configuration -> General -> Web
から、IPアドレスを使用して非セキュアおよびセキュアベースURLを設定します。そして、もう一度ログインしてみてください。
この場所のファイルに移動します:-app\code\core\Mage\Core\Model\Session\Abstract\Varien.php
そして、以下をコメントアウトします(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']);
// }
// }
//}
そして、あなたの資格情報を使用してログインします。あなたにとってうまくいくことを願っています!!!
問題が発生したのは、ディレクトリを移動したが、メインコンテンツの.HTACCESSファイルが新しいパスに移動しなかったためです。
.htaccessファイルがメインコンテンツにあるかどうかを確認します。
フォームキーが存在することも重要です。存在しない場合、フォームは処理されません。
<?php echo $this->getBlockHtml('formkey'); ?>
Magento 1.9を使用している場合、ファイルはわずかに異なる必要があります:/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
$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']);
}
}
}*/
Magentoバージョンがあります。 1.14.2.1
varien.phpを変更しても問題は解決しませんでした。
127.0.0.1
ダッシュボード構成WebベースURLのlocalhost
の代わりに、私の問題を解決しました。
私はまだurlにlocalhostを入力することができ、自動的にそれをip形式のurlにリダイレクトします。
Magentoはcookie_domain
オン core_config_data
ログインしようとしたときのテーブル。ドメインと異なる場合は、ページを更新するだけで管理パネルに入ることはできず、エラーは発生しません。
開いた core_config_data
テーブルをデータベースから検索し、path
列でweb/cookie/cookie_domain
そして、それをヌルまたはドメインに変更します。
これは私の簡単な解決策であり、同じ状況で助けてくれました。あなたの時間の60秒試してみてください。
Google Chromeで開発者ツール(任意のページ要素を右クリックして[要素を検査]を選択)、リソース-> Cookiesタブ 。 削除元のドメインの追加のCookie。または、ベースURLドメインを別のものに設定するか、ポートを変更します。
Magento 2の場合
WAMPのlocalhostの代わりに http://127.0.0.1 を使用してください
{フォルダパス}\magento2\vendor\magento\zendframework1\library\Zend\Session.php
上記のように移動してコメントする
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();
}
internet Explorerまたは他のブラウザで管理者としてログインします。すべてのキャッシュをフラッシュします。そして、chromeを使用してログインできるようになります。コードを変更せずにログインできます。
ここにコメントを適用してください...ファイルの場所:\ app\code\core\Mage\Core\Model\Session\Abstract\Varien.php
/*
// session cookie params
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly()
);
*/
受け入れられた答えが指摘したように、問題はchrome localhostでMagentoにアクセスするときです。コードをtheapp/code/core/Mage/Core/Model/Session/Abstract/Varien.php
次のスニペットを使用します。セッションパラメータ配列は、localhost(IP'127.0.0.1 'または' :: 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
// ------------------------------------------
}