本文是与Ktree的合作努力。 感谢我们的合作伙伴使Sitepoint成为可能。
>本文探讨了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使用“前端”和“ AdminHtml” cookie。浏览任何页面并在客户登录时进行更新时,创建“前端”; “ AdminHTML”是在后端登录中创建的。 检查元素(in Chrome:>检查元素&gt;应用)显示了这些cookie。 cookie配置在Magento Admin菜单中找到: System&gt;配置&gt;一般&gt; Web
。
>故障排除登录失败和重定向:
>
令人沮丧的登录重定向循环是一个常见的洋红色问题。让我们探索解决方案:问题1:不匹配的cookie和服务器域:
>
example.com
如果您的网站为xyz.com
,但是Magento cookie域是xyz.com
,Magento cookies将使用example.com
,但是会话验证使用访问的域(
>
>解决方案:>在
<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>
问题2:多个子域的不正确的cookie配置:
可能有效,但是example.com/admin
失败。 登录最初可能会成功,但是切换域需要cookie清除。staging.example.com/admin
>
解决方案1(相同的服务器):将cookie域设置为> in .example.com
系统&gt;配置&gt;一般&gt; Web。
解决方案2(不同的服务器):适当地为每个服务器设置cookie域(例如,用于主域的> .example.com
进行登台)。 另外,请确保您的.staging.example.com
cookie域与您的洋红色配置匹配。php.ini
>
解决方案3(较少推荐):修改app/code/core/Mage/Core/Controller/Varien/Action.php
以动态调整子域的adminhtml
cookie名称(谨慎使用)。
问题3:重复的前端cookie:
确保在主域和子域中确保一致的cookie域设置()。 检查您的cookie域设置,并确保与Magento配置保持一致。
.example.com
> php.ini
问题4:会话ID创建失败:
>诸如“ session_regenerate_id():无法创建(read)会话ID”之类的错误可能会发生,尤其是由于严格的类型检查而在PHP 7中发生。
> typecast
to>。。
read()
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
问题5:不正确的会话文件所有权:return (string)$data;
>
解决方案:>授予Weberver用户(例如,
)会话目录的所有权(例如,)。 考虑替代会话提供商(例如,数据库或Redis),并清除
>目录。>
>用于cookie诊断的PHP脚本:www-data
sudo chown -R www-data:www-data
var/cache
>常见问题(常见问题解答) - 总结:
<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>> FAQS部分提供了有关对Magento登录问题进行故障排除的常见问题的详细答案,涵盖了cookie和Cookie和会话管理,错误解决,绩效优化以及寻求专业帮助的各个方面。 关键要点是确保在Magento设置中确保一致,正确的cookie和会话配置,并利用提供的诊断脚本来识别和解决特定问题。
以上是如何解决饼干和会话的洋红色登录问题的详细内容。更多信息请关注PHP中文网其他相关文章!