1.7에서 1.9로 마 젠토 업그레이드


43

Magento 저장소를 1.7에서 1.9로 업그레이드해야합니다. 저는 Magento, SSH 및 MySQL을 처음 사용합니다. 내 웹 사이트를 손상시키지 않고 업그레이드하는 가장 쉬운 방법이 무엇인지 궁금했습니다.


2
Praful이 쓴 것은 너무 짧습니다. 확장, 테마, 테마에 누락 된 부분, 특히 버전 1.8의 모든 form_keys에 많은 문제가있을 수 있습니다. 실제로 도구를 모르는 경우 매우 조심하고 라이브 환경을 시도하지 마십시오!
Fabian Blechschmidt

나는 cpannel (senore.com/ecommerce라고 함)을 통해 내 웹 사이트를 복제 한 다음 복제 사이트를 업그레이드했지만 업그레이드가 작동했지만 (백엔드에서는 현재 버전 1.9.0.1 임) 원본을 열 때 웹 사이트 (senore.com) 링크 중 어느 것도 404 오류라고 말하지 않으며 페이지를 보려면 "/ ecommerce"를 추가해야합니다. 왜 그런지 아십니까 ??
Adam Allen

안녕 아담, 당신도 데이터베이스의 클론을 만들지 않았다고 생각합니다. 마찬가지로 기존 데이터베이스에서 원래 웹 사이트를 실행하고 새로 만든 데이터베이스에서 새 magento 1.9를 실행해야합니다. 두 웹 사이트 그래서 동시 작동
Praful S 자루

거의 25k 조회수 및 최대 4 투표!?!?!?!?!?! ??
SR_Magento

답변:


50

1.7에서 CE 1.9.0.1의 로드맵 업그레이드

  1. 현재 데이터베이스와 현재 1.7 코드를 백업하십시오. maintenance.flag 파일을 1.7 코드 폴더 안에 넣어 웹 사이트를 오프라인으로 만듭니다.
  2. http://www.magentocommerce.com/download 에서 최신 마 젠토를 다운로드 하십시오.
  3. 1.7 코드에서 모든 폴더와 파일을 제거하고 maintenance.flag(어딘가에 백업해야 함) 1.9에서 모든 폴더와 파일을 배치하십시오.
  4. 이제 1.7에서 다음 사용자 정의 폴더를 1.9로 병합하십시오.
    • 커뮤니티 app/code/community
    • 노동 조합 지부 app/code/local
    • 미디어
    • 테마 또는 패키지 ( app/design/frontend/default/<your theme>또는 app/design/frontend/<your package>)
    • Skin의 사용자 정의 폴더 (adminhtml 및 frontend 모두).
    • 사용자 정의 XML 파일 app/etc/modules/을 현재로 복사app/etc/modules/
    • 에서 사용자 정의 관리자 테마 폴더 adminhtml/default/yourtheme.
    • adminhtml/default/default/(1.7)에서 adminhtml / default / default / (1.9)로 사용자 정의 폴더를 복사하십시오 .
    • 에서 사용자 정의 js 파일 app/js/.
  5. 이제 app/etc/local.xml데이터베이스 세부 정보 편집으로 이동하여 데이터베이스 사용자 이름과 비밀번호 및 데이터베이스 이름을 입력하십시오.
  6. maintenance.flag파일을 제거 하고 브라우저에서 사이트를 확인하십시오. 끝났습니다.

2
이전 버전의 암호화 키를 잊지 마십시오. 사이트를 새 설치로 업그레이드 할 때는 동일한 암호화 키를 사용해야합니다.
Mohamed23gharbi

이 방법은 저에게 아주 효과적입니다. 그래도 일부 확장 프로그램을 다시 설치해야 할 수도 있습니다.
yldziner

12
나는 그것이 그것을하는 방법에 대한 완전한 가이드가 아니라고 말할 것입니다. 특정 경우에는 작동하지만 사용자 정의 테마가 로그인 페이지를 변경 한 경우 (예 : 고객이 더 이상 로그인 할 수 없음) 참조 : stackoverflow.com/questions/20565688/… 또한 maintenance.flag를 언급하면 라이브에서이 작업을 수행해도됩니다. 실제 환경에서는 Magento를 업그레이드하지 마십시오. 나에게 언급 된 것과 같은 사례를 잡기 위해 항상 dev / staging을 먼저 테스트하십시오.
Wiktor Jarka

1
또한 양식 키를 새 템플릿에 추가하는 것을 잊지 마십시오. 그렇지 않으면 양식을 사용할 수 없습니다. 자세한 내용은 stackoverflow.com/a/20702053/564338 을 참조하십시오.
Daniel West


7

우선 현재 magento 1.7과 동일한 데이터베이스를 작성하십시오. 그런 다음 http://www.magentocommerce.com/download 에서 magento 1.9.0.1을 다운로드 하십시오.

이제 magento 1.9 설치를 실행하고 이전 웹 사이트의 데이터베이스를 선택하십시오 (magento 1.7.0.2).

이제 테마와 스킨을 이전 버전에서 새로운 버전으로 가져올 수 있습니다. 그런 다음 이전에서 새로운 확장까지 하나씩 확장하십시오. 나는 그것을했고 그것은 나를 위해 일할 것입니다.


4

SSH 또는 명령 줄을 사용한 Magento 1.x 업그레이드 지침 :

1) Magento 루트 디렉토리로 이동하십시오

cd /path/to/your/magento/folder

2) Magento 사이트에 대한 유지 관리 모드를 활성화하십시오

이를 maintenance.flag위해 Magento 루트 디렉토리에 이름이 지정된 빈 파일을 만들어야합니다 .

touch maintenance.flag

3) 캐시 및 세션 지우기

rm -rf var/cache/* var/session/*

4) 컴파일 확인 및 활성화 된 경우 비활성화

컴파일러 상태 확인

php -f shell/compiler.php -- state

(가) 경우 Compiler Status입니다 Disabled당신은이 단계를 건너 뛰고 다음 단계로 이동할 수 있습니다.

(가) 경우 Compiler Status입니다 Enabled당신은 다음과 같은 명령을 사용하지 않도록 설정해야합니다 :

php -f shell/compiler.php -- disable

5) 모든 Magento 파일 및 폴더에 대한 쓰기 권한 부여

chmod -R 777 .

6) 550 권한 마법사 파일 제공

마법사 파일은 쉘 스크립트 파일입니다. 550 권한으로 우리는 파일을 쓰기 불가능 + 읽기 및 실행 가능하게 만들었습니다.

chmod 550 ./mage

7) 구성 설정을 안정으로 변경

./mage config-set preferred_state stable

8) 마 젠토 업그레이드

다음 명령을 사용하여 설치된 모든 패키지를 나열 할 수 있습니다.

./mage list-installed

다음 명령을 사용하여 업그레이드 가능한 모든 패키지를 나열 할 수 있습니다.

./mage list-upgrades

다음 명령은 모든 패키지를 업그레이드 합니다.

./mage upgrade-all --force

업그레이드를 완료하는 데 약간의 시간이 걸립니다.

9) 데이터 인덱싱

업그레이드를 완료 한 후 모든 데이터를 다시 색인화해야합니다.

php shell/indexer.php reindexall

10) 그런 다음 캐시와 세션을 지우십시오.

rm -rf var/cache/* var/session/*

11) 업그레이드 전에 컴파일이 활성화 된 경우에만 컴파일을 활성화합니다

위의 4) 단계를 확인하십시오.

4) 단계에서 컴파일이 활성화되지 않은 경우이 단계를 건너 뛰고 다음 단계로 넘어갈 수 있습니다.

웹 사이트에 대해 컴파일이 활성화되어 있고 4) 단계에서 비활성화 한 경우 다음 명령을 사용하여 활성화해야합니다.

php -f shell/compiler.php -- enable

12) 파일 변경 권한

업그레이드하기 전에 모든 파일 및 폴더의 권한을 777로 변경했습니다. 또한 Magento 사이트의 모든 파일 및 폴더에 대한 적절한 권한을 부여해야합니다.

파일 권한을 644로 변환하고 폴더 권한을 755로 변환

find . -type f -exec chmod 644 {} \; && find . -type d -exec chmod 755 {} \;

var 및 media 폴더에 대한 읽기-쓰기 전체 권한 (예 : 777)을 부여하십시오.

chmod -R 777 var media

마법사 스크립트 파일에 550 권한 부여

chmod 550 ./mage

13) 설치된 패키지 버전 확인

설치된 패키지의 버전을 확인하십시오. 패키지는 현재 업그레이드 된 최신 버전을 표시해야합니다.

./mage list-installed

14) 업그레이드 가능한 패키지 목록

업그레이드 가능한 패키지 (업그레이드가 필요한 패키지)를 나열하십시오. 모든 패키지가 이미 최신 버전으로 업그레이드되었으므로 업그레이드 할 수 없음이라는 메시지가 나타납니다.

./mage list-upgrades

15) 유지 관리 모드를 비활성화하여 사이트를 라이브로 만듭니다.

rm -f maintenance.flag

파일이 삭제되고 maintenance.flag사이트가 다시 활성화됩니다.

이제 Magento admin에 로그인하여 바닥 글 섹션에 Magento 버전이 표시되는 것을 볼 수 있습니다. 최신 버전 번호가 표시되어야합니다.

출처 : Magento 1.x – 브라우저 및 명령 줄을 통해 최신 버전으로 업데이트 / 업그레이드


3
Current Version Magento CE 1.7.0.2

Admin panel -> System -> Magento Connect -> Magento Connect Manager

Check for Upgrades

Mage_All_Latest -> select Upgrade to 1.9.0.1 

타사 확장 프로그램 및 로컬 사용자 지정 내용을 고려해야하며 적절한 백업을 수행하십시오.


17
Magento Connect Manager를 사용하지 마십시오. 여기에는 많은 문제가 있습니다 ...
Simon

1
또한 Connect로 업그레이드 할 때 어떤 수정이 있었는지 알 수 없습니다.
Mohamed23gharbi

1
@Simon (또는 다른 사람)은 출처를 밝히고 당신의 진술을 명확히 할 수 있습니까? 나는 1.7에서 1.9로 테스트 업그레이드를했는데 모든 것이 잘 작동합니다.
Akif

@Akif는 단순히 구글을 위해. 예를 들어, 참조 integer-net.com/... 또는 magento.stackexchange.com/q/40359/142 .
Simon

1
@Simon 덕분에, 왜 자신이하고있는 일을 알고 있다는 것을 고려할 때 첫 번째 링크의 주장에 근거하여 사용해서는 안되는 이유를 알 수 없습니다. 전문가가 아닌 사람들에게는 대부분의 주장이 유효하다고 생각합니다. 앞으로의 참조를 위해 +12로 귀하의 진술을 명확히하기를 바랍니다. 더 비슷해야합니다. "내가하는 일을 모른다면 사용하지 마십시오".
Akif

1

질문이 요구하는 것처럼 누구나 가장 쉬운 방법을 제안하지 않는 이유는 무엇입니까?

그냥가 System >> Configuration >> Connect Manager

그리고 키를 사용하십시오 http://connect20.magentocommerce.com/community/mage_all_latest

마 젠토 1 커넥트 매니저

특정 버전이 필요한 경우 해당 버전을 다운로드하여 동일한 magento connect에 패키지로 업로드 할 수 있습니다

Magento Connect Manager 패키지 업그레이드


+1 이것은 문자 그대로 세 개의 개별 Magento 설치를 모두 업데이트하는 방법입니다. 모든 것을 철저히 검토하고 테스트하지 않은 경우에는 각 업데이트마다 문자 그대로 20 초가 소요됩니다. 1.7에서 시작하여 1.8의 form_keys를 제외하고 1.9.4.0으로 쉽게 업데이트했습니다. Magento Connect를 통해 업데이트 프로세스를 시작하기 전에 pkginfo / 및 var / package 디렉토리를 지우십시오.
MagentoAaron

0

다음 단계에 따라 Magento 1.7 저장소를 Magento 1.9로 업그레이드하십시오.

  1. 시스템> 도구> 컴파일> 비활성화에서 Magento 컴파일

  2. 시스템> 캐시 관리> 모두 선택> 조치 : 사용 안함> 제출에서 Magento 캐시

  3. Magento v1.7 디렉토리에서 모든 파일과 폴더를 제거하고 (백업을 안전한 곳에 보관하십시오) Magento v1.9.x 패키지에서 모든 파일과 폴더를 배치하십시오.

  4. 좋아하는 웹 브라우저를 열고 링크로 이동하십시오. 새로운 Magento v1.9.x 저장소를 설치하라는 메시지가 표시되지만 걱정하지 마십시오. 계속 진행하고 언제 구성 페이지에 도달 할 수 있습니다. SQL DB 서버 호스트 이름, SQL DB 이름, SQL Server 사용자 이름, SQL Server 비밀번호, 기본 URL 및 관리 경로를 포함하여 이전 Magento v1.7 저장소에 사용한 것과 동일한 정보로 채 웁니다.

  5. 설치가 끝나면 프론트 엔드 또는 백엔드 페이지를 방문하지 마십시오. Magento v1.7 파일 및 폴더 백업에서 다음 파일 및 폴더를 새 Magento v1.9.x 저장소 디렉토리로 복사하고 병합하십시오.

    • 커뮤니티 폴더 : ROOT> 앱> 코드> 커뮤니티

    • 로컬 폴더 : ROOT> 앱> 코드> 로컬

    • 루트 디렉토리의 미디어 폴더 : ROOT> 미디어

    • 테마 폴더 : ROOT> 앱> 디자인> 프론트 엔드> 기본값 (패키지 이름)> "your_theme"(테마에 "기본"패키지를 사용하는 경우 테마 폴더 만 복사하면 테마가 포함 된 전체 패키지를 복사해야합니다. 폴더)

    • 루트 디렉토리의 스킨 폴더 : 루트> 스킨

    • 모듈의 사용자 정의 XML 파일 : ROOT> 앱> 기타> 모듈>“your_custom_XML_files”

    • 관리자 테마 폴더 : ROOT> 앱> 디자인> adminhtml> 기본값

    • 사용자 정의 JS 폴더 : ROOT> 앱> js

    • 이제 ROOT> var> 캐시 및 ROOT> var> 세션에서 모든 항목을 삭제하여 모든 세션 및 캐시를 지우십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.