2014-01-30 102 views
4

當下載和運行http://www.magentocommerce.com/download Magento的PHP 5.4支持補丁(Magento的-CE-v1.7.0.0-1.7.0.2),使用sh PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh運行腳本,我們收到此錯誤:Magento的補丁安裝失敗的

$ sh PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh 
: command not found_1.12.0.0_v1.sh: line 7: 
'ATCH_SUPEE-2629_EE_1.12.0.0_v1.sh: line 9: syntax error near unexpected token `{ 
'ATCH_SUPEE-2629_EE_1.12.0.0_v1.sh: line 9: `_check_installed_tools() { 

奇怪的是,該腳本的第7行是空白的(這裏的文件頭):

#!/bin/bash 
# Patch apllying tool template 
# v0.1.2 
# (c) Copyright 2013. Magento Inc. 
# 
# DO NOT CHANGE ANY LINE IN THIS FILE. 

# 1. Check required system tools 
_check_installed_tools() { 
    local missed="" 

我們試圖下載在Windows和Mac,在Firefox和Chrome排除造成任何編碼問題下載過程。該補丁似乎是很新的 - Added Jan 17, 2014

我們正在運行的Magento社區版1.7.0.2

編輯

我們試圖運行與bash的sh文件很好,但收到同樣的反應。

有趣的是,當點擊「下載」,Magento的顯示在瀏覽器中,所以我們試圖查看源代碼的各種組合然後保存.SH源;將文本從瀏覽器窗口複製並保存到文本文件中。這些都不解決了這個問題,雖然改變了其中一個錯誤信息:

$ sh PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh 
Checking if patch can be applied/reverted successfully... 
/usr/bin/patch: **** malformed patch at line 238: 

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

238線是空的註釋行在這裏:

+/** 
+ * Abstract helper class for {@link Zend_Pdf_FileParser} that provides the 
+ * data source for parsing. 
+ * 
+ * Concrete subclasses allow for parsing of in-memory, filesystem, and other 
+ * sources through a common API. These subclasses also take care of error 
+ * handling and other mundane tasks. 

我們還試圖在這裏提到的六步 - :設定FF UNIX http://www.magentocommerce.com/boards/viewthread/864518

誤差再改爲:

$ sh PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh 
Checking if patch can be applied/reverted successfully... 
ERROR: Patch can't be applied/reverted successfully. 

patching file app/code/core/Mage/Catalog/Model/Product.php 
Hunk #1 FAILED at 1936. 
1 out of 1 hunk FAILED -- saving rejects to file app/code/core/Mage/Catalog/Model/Product.php.rej 
patching file app/code/core/Mage/Core/Controller/Varien/Router/Standard.php 
Hunk #1 FAILED at 43. 
1 out of 1 hunk FAILED -- saving rejects to file app/code/core/Mage/Core/Controller/Varien/Router/Standard.php.rej 
patching file app/code/core/Mage/Install/etc/config.xml 
patching file app/code/core/Zend/Pdf/FileParserDataSource.php 
+0

看這裏,也許它會幫助一點點:http://stackoverflow.com/questions/20572320/magento-1-7-2-security-patch-error-via-ssh – sergio

+0

@sergio ,謝謝那裏有一些有用的想法,雖然我們還沒有找到解決方案。發佈更新的結果 –

+1

在嘗試應用補丁之前!使用Chrome或Firefox在下載的純文本文件上執行「另存爲...」。確保使用適當的行結尾上傳修補程序,它是一個* nix shell腳本,並且在嘗試從命令行運行時不需要任何CRLF silliness來破壞它,並導致語法錯誤。 –

回答

3

事實證明,在補丁文件(而不是文件打補丁)時,給出這個錯誤有不其所運行的系統匹配行尾。

如:

  • 你是在Linux上運行
  • 你的補丁文件中有Windows行結尾

我改變了補丁文件有Unix行結尾:當你將看到這個錯誤使用Sublime:

View > Line Endings > Unix

參見Error patching Magento 1.7.1 Hunk #1 Failed at