错误:修补程序无法成功应用/恢复

时间:2015-04-23 15:38:14

标签: security magento ssh sh putty

我已经

  

PATCH_SUPEE-5344_CE_1.8.0.0_v1-2015-02-10-08-10-38.sh

正确安装,但是当我尝试安装时

  

PATCH_SUPEE-1533_EE_1.13.x_v1-2015-02-10-08-18-32.sh

我收到了错误,

Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.

patching file app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php.rej
patching file app/code/core/Mage/Adminhtml/controllers/DashboardController.php
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file app/code/core/Mage/Adminhtml/controllers/DashboardController.php.rej

我正在使用此命令,

sh PATCH_SUPEE-1533_EE_1.13.x_v1-2015-02-10-08-18-32.sh

我需要做些什么不同的事情?这太令人沮丧了;非常感谢任何帮助!

3 个答案:

答案 0 :(得分:2)

这就是我所做的:我注意到它要求确认"假设-R? [N]"所以我添加了-R来确认这样的动作。

sh PATCH_SUPEE-5344_CE_1.8.0.0_v1-2015-02-10-08-10-38.sh -R
sh PATCH_SUPEE-1533_EE_1.13.x_v1-2015-02-10-08-18-32.sh -R

他们都成功了。 检查补丁是否可以成功应用/恢复... 修补程序已成功应用/恢复。

我希望这会有所帮助。

答案 1 :(得分:0)

你正在使用Debian吗?如果是这样,试试这个:

./PATCH_SUPEE-1533_EE_1.13.x_v1-2015-02-10-08-18-32.sh

所以sh命令已更改为./

不要忘记以文件所有者身份登录。

答案 2 :(得分:0)

您使用的是哪个版本,因为 PATCH_SUPEE-1533_EE_1.13.x_v1-2015-02-10-08-18-32.sh补丁已经存在于Magento 1.9.0.1中

也可以手动检查这些文件,使用( - )登录文件删除代码并使用(+) - 他们添加了新代码

__PATCHFILE_FOLLOWS__
diff --git app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php
index c698108..6e256bb 100644
--- app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php
+++ app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php
@@ -444,7 +444,7 @@ class Mage_Adminhtml_Block_Dashboard_Graph extends Mage_Adminhtml_Block_Dashboar
             }
             return self::API_URL . '?' . implode('&', $p);
         } else {
-            $gaData = urlencode(base64_encode(serialize($params)));
+            $gaData = urlencode(base64_encode(json_encode($params)));
             $gaHash = Mage::helper('adminhtml/dashboard_data')->getChartDataHash($gaData);
             $params = array('ga' => $gaData, 'h' => $gaHash);
             return $this->getUrl('*/*/tunnel', array('_query' => $params));
diff --git app/code/core/Mage/Adminhtml/controllers/DashboardController.php app/code/core/Mage/Adminhtml/controllers/DashboardController.php
index eebb471..f9cb8d2 100644
--- app/code/core/Mage/Adminhtml/controllers/DashboardController.php
+++ app/code/core/Mage/Adminhtml/controllers/DashboardController.php
@@ -92,7 +92,8 @@ class Mage_Adminhtml_DashboardController extends Mage_Adminhtml_Controller_Actio
         if ($gaData && $gaHash) {
             $newHash = Mage::helper('adminhtml/dashboard_data')->getChartDataHash($gaData);
             if ($newHash == $gaHash) {
-                if ($params = unserialize(base64_decode(urldecode($gaData)))) {
+                $params = json_decode(base64_decode(urldecode($gaData)), true);
+                if ($params) {
                     $response = $httpClient->setUri(Mage_Adminhtml_Block_Dashboard_Graph::API_URL)
                             ->setParameterGet($params) 

因此,如果代码已经存在于上面建​​议的文件中,那么您的补丁将无法正常工作,因为它实际上并不需要。