实施 Magento 安全补丁

Implementing Magento security 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

但是它向我显示了下面屏幕中显示的一些错误。

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

这个错误意味着你的文件有一些 modifications.This 是最后一个文件,应该通过补丁更改,以便你可以手动修补它:

  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. 保存文件。修补完成。