繁体   English   中英

我无法启用或禁用模块。 我收到“保存此配置时发生错误”

[英]I can't enable or disable modules. I'm getting “An error occurred while saving this configuration”

我安装了新的Magento 1.7.0.2。 我安装了两个工作正常的自定义付款方式模块。 但是现在,每当我尝试禁用或启用任何付款方式或运输方式时,都会出现如下错误:

保存此配置时发生错误:警告:preg_match()期望参数2为字符串,在第57行的/app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Encrypted.php中给出的数组

你知道为什么吗?

编辑2:

我发现了问题。 这是由我应用于修复先前的BUG的补丁引起的。 :P

编辑:

因此,我禁用了所有自定义模块,但仍然遇到相同的错误。 我记录了正在发生的事情,似乎某些核心模块正在发送要保存的阵列。

例如,类似于PayPal Express Checkout。 配置选项之一是“结算报告设置”的SFTP凭据中的“时间”。 它由三个不同的下拉菜单组成,并且正在发送要保存的数组!

在“运送方法”中,UPS具有一个名为“允许的方法”的配置选项,并且它还在发送一个阵列!

我仍然不知道为什么现在没有发生这种情况。 他们不应该加密所有内容。 有什么线索吗?

我遇到了同样的问题,这是一个已知的错误,请尝试在第No行附近进行。 135 on code / core / mage / Adminhtml / model / config / data.php

// add this code
$backendClass=false;
if (isset($fieldConfig->backend_model)) {
    $backendClass = $fieldConfig->backend_model;
}  // before this
if (!$backendClass) {
    $backendClass = 'core/config_data';
}

实际上,这是Magento中的一个已报告错误,似乎会影响加密的配置设置(密码,API密钥等)。

http://www.magentocommerce.com/bug-tracking/issue?issue=14217

尝试禁用第一个模块,退出管理面板,清除/ var / cache并查看问题是否仍然存在。 如果是这样,请对第二个模块执行相同的操作。

问题应该消失了。 现在,您知道哪个模块导致了问题,您可以决定尝试另一个模块,也可以进行调试以查看问题所在。

在/app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Encrypted.php中的第57行上放置一个断点,以查看出了什么问题。 当将第二个参数提供给preg_match函数时,它似乎不是字符串(例如,由于配置错误或某些原因,可能为null)。 也许这可以帮助您确定问题所在。

问候

通过后台禁用模块不是一个好主意,因为它只会禁用块输出,如果您想禁用模块,则应转到app/etc/modules然后在该文件中找到Module_Name.xml文件。只需在active节点中输入false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM