ホームページ >バックエンド開発 >PHPチュートリアル >Magentoログインの問題をCookieとセッションで修正する方法
この記事は、Ktreeとの共同作業です。 SetePointを可能にしてくれたパートナーに感謝します この記事では、Magento Cookieの誤解がストアフロントと管理者のバックエンドの両方でログイン機能を混乱させ、根本的な原因を説明し、ソリューションを提供する方法を検討します。 この問題は、多くの場合、リダイレクトループによって特徴付けられ、正しい資格情報にもかかわらずログイン画面が再表示されます。
いくつかの一般的な問題を特定するのに役立つ診断スクリプトが含まれています。特定のニーズに合わせて自由に適応して拡張してください。
キーポイント:
Magento Cookieドメインがサーバードメインと正確に一致するようにして、ログインリダイレクトの問題を防ぎます。 間違った設定は、セッションの検証を無効にします。
.example.com
Magentoでは、
:で構成可能な複数のセッションプロバイダーを提供しています
<session_save></session_save><session_save_path></session_save_path>
<session_save></session_save>
/app/etc/local.xml
に追加します。セッションはCore\_session
テーブルに保存されます。<session_save>db</session_save><redis_session><host>127.0.0.1</host><port>6379</port></redis_session>
<session_save></session_save><session_save_path></session_save_path>
MagentoのCookieの使用量:
Magentoは「Frontend」と「adminhtml」Cookieを使用します。 「FrontEnd」は、任意のページを閲覧するときに作成され、顧客ログインで更新されます。 「adminhtml」は、バックエンドログインで作成されます。 要素を検査します(CHROME:INSPECT ELEMENT&GT; APPLICTION)は、これらのCookieを示しています。 Cookie構成は、Magento Adminメニューにあります。構成&gt;一般&gt; web。
ログインの障害とリダイレクトのトラブルシューティング:
イライラするログインリダイレクトループは、一般的なマゼントの問題です。解決策を探りましょう:
問題1:不一致のクッキードメインとサーバードメイン:
サイトの場合、Magento Cookieドメインがの場合、Magento Cookiesはexample.com
を使用しますが、セッション検証ではアクセスドメイン(xyz.com
)が使用されます。 システムはセッションが見つからず、リダイレクトになります。
xyz.com
example.com
ソリューション:
system&gt;でCookieドメインを修正してください。構成&gt;一般&gt; web。 または、sql:を使用します
問題2:複数のサブドメインの誤ったCookie構成:<code class="language-sql">SELECT * FROM core_config_data WHERE path = 'web/cookie/cookie_domain'; -- Verify UPDATE core_config_data SET VALUE = "domain.com" WHERE path = 'web/cookie/cookie_domain'; -- Update</code>
にログインすると動作する可能性がありますが、
は失敗します。 ログインは最初に成功するかもしれませんが、ドメインを切り替えるにはCookieのクリアが必要です。example.com/admin
ソリューション1(同じサーバー):staging.example.com/admin
system&gt;構成&gt;一般&gt; web。
.example.com
ソリューション2(異なるサーバー):各サーバーに対してCookieドメインを適切に設定します(メインドメインの場合は
)。 また、CookieドメインがMagentoの構成と一致していることを確認してください。 ソリューション3(推奨が少ない):サブドメインの
複数のフロントエンドクッキーは、ログインを防ぐことができます
ソリューション: )を確保します。 クッキードメインの設定についてはを確認し、Magento構成との一貫性を確認してください。
>のようなエラー:特に厳密なタイプのチェックがあるため、PHP 7で発生する可能性があります。
解決策:
問題5:誤ったセッションファイルの所有権: Grant WebServerユーザー(例えば、)セッションディレクトリの所有権(例:)。 代替セッションプロバイダー(データベースやRedisなど)を検討し、
このスクリプトは、サーバーとMagento Cookieドメインの構成、Cookie値、およびフロントエンドの重複クッキーなどの潜在的な問題にフラグを立てます。
FAQSセクションでは、Magentoログインの問題のトラブルシューティング、Cookieやセッション管理、エラー解像度、パフォーマンスの最適化、専門家の助けを求めるさまざまな側面についての一般的な質問に対する詳細な回答を提供します。 重要なポイントは、Magentoのセットアップ全体で一貫したCookieとセッションの構成を確保し、提供された診断スクリプトを利用して特定の問題を識別および解決することです。app/code/core/Mage/Core/Controller/Varien/Action.php
cookie名を動的に調整する(注意して使用)。
adminhtml
.example.com
問題4:セッションIDの作成の失敗:php.ini
read()
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
「session_start():セッションデータファイルはuidによって作成されていない」などの警告が許可の問題を示しています。
return (string)$data;
www-data
sudo chown -R www-data:www-data
よくある質問(FAQ) - 要約:var/cache
以上がMagentoログインの問題をCookieとセッションで修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。