实施Magento安全补丁

时间:2015-04-24 15:04:03

标签: security magento magento-1.7 patch

我正在运行Magento CE 1.7.0.2,我想申请以下两个补丁。

PATCH_SUPEE-5345_CE_1.7.0.2_v1-2015-02-10-08-11-22.sh
PATCH_SUPEE-1533_EE_1.12.x_v1-2015-02-10-08-19-16.sh

我正在命令下运行第一个补丁。

sh PATCH_SUPEE-5345_CE_1.7.0.2_v1-2015-02-10-08-11-22.sh

但它显示我在屏幕下方显示了一些错误。

Implementing Magento security patch

您能否告诉我问题是什么以及如何解决?

1 个答案:

答案 0 :(得分:1)

此错误意味着您的文件有一些修改。这是应该通过修补程序更改的最后一个文件,因此您可以手动修补它:

  1. 在某些编辑器中打开lib / Varien / Db / Adapter / Pdo / Mysql.php并转到第2672行。在此行附近,您可以找到下一个代码块:

    $query = '';
    if (is_array($condition)) {
        if (isset($condition['field_expr'])) {
            $fieldName = str_replace('#?', $this->quoteIdentifier($fieldName), $condition['field_expr']);
            unset($condition['field_expr']);
        }
    $key = key(array_intersect_key($condition, $conditionKeyMap));
    
  2. 删除此部分:

    if (isset($condition['field_expr'])) {
        $fieldName = str_replace('#?', $this->quoteIdentifier($fieldName), $condition['field_expr']);
        unset($condition['field_expr']);
    }
    
  3. 保存文件。修补完成。