Magento 2에서 가장 일반적인 문제를 해결하는 방법

게시 됨: 2022-01-02

Magento ie Magento 2의 새 버전은 새로운 어려움을 겪었습니다. 이전 Magento 버전 을 새 버전 으로 업그레이드 하려는 경우 이러한 문제 중 일부에 직면할 수 있습니다. 현재 블로그 게시물에서는 Magento 2 버전의 일반적인 문제와 Magento 매장 소유자, Magento 개발자 및 Magento 개발 회사에 유용한 솔루션에 대해 논의할 것입니다.

Magento 2 및 해당 솔루션의 일반적인 문제

경험 많은 Magento 개발자 또는 다른 사람은 Magento 2 플랫폼을 탐색할 때 가장 일반적인 문제에 직면할 수 있습니다. 직면할 수 있는 문제는 부인할 수 없는 작은 문제일 수 있지만 이러한 문제를 빨리 해결하려고 하지 않으면 더 큰 문제가 될 수 있습니다.

따라서 Magento 2에서 솔루션과 함께 직면하는 가장 일반적인 문제를 이해해 보겠습니다.

Magento 2 설정 후 샘플 데이터 설치

먼저 다운로드

샘플 데이터: sudo php bin/ magento sampledata:deploy

그런 다음 설치,

샘플 데이터: sudo php bin/ magento 설정:업그레이드

또는

sudo /opt/ lampp /bin/ php bin/ 마 젠토 샘플 데이터 : 배포

sudo /opt/ lampp /bin/ php bin/ 마 젠토 설정:업그레이드

Magento 2 설정 후 샘플 데이터 설치

테마/CSS 캐시 지우기

테마 또는 CSS의 캐시를 지우려면 다음 명령을 실행합니다.

sudo PHP bin/마 젠토 캐시:플러시

sudo PHP bin/마 젠토 캐시:정리

또는

sudo /opt/ lampp /bin/ php bin/ 마 젠토 캐시:플러시

sudo /opt/ lampp /bin/ php bin/ 마 젠토 캐시:정리

테마/CSS 캐시 지우기

재인덱싱

Magento 2에서 하나 이상의 인덱서가 유효하지 않습니다. 따라서 Magento Cron 작업이 실행 중인지 확인해야 합니다.

상점을 다시 인덱싱하려면 CLI에서 php bin\magento indexer:reindex 명령을 실행하십시오.

하나의 인덱서만 다시 인덱싱하려면 php bin\magento indexer:reindex indexer_name 명령을 작성하십시오. 여기서 indexer_name 은 php bin\magento indexer:info 명령을 입력하여 찾을 수 있습니다.

[해결됨] Magento 2에서 가장 일반적인 문제를 해결하는 방법 - 색인 재지정

레이아웃에서 블록 제거

최신 버전의 Magento 2에서 제거 방법은 다음과 같습니다.

<referenceBlock name=”block_name” 제거=”true”/>

예를 들어:

 <?xml version="1.0"?> <page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="block_name" remove="true"/> </body> </page>

개발자 모드 설정

개발자 모드는 CLI bin/ magento deploy:mode:set developer 에서 설정할 수 있습니다.

Magento 2 기본 URL 가져오기

기본 URL을 얻으려면 아래 코드를 시도하십시오.

$this->_storeManager->getStore()->getBaseUrl()

또한 다음을 사용하십시오.

$this->_objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore($storeId)
->getBaseUrl();

미디어 기본 URL 가져오기:

$this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);

모듈 설치 확인

활성화 또는 비활성화된 모듈 목록을 확인하려면 아래 명령을 사용하십시오.

magento 모듈:활성화 [-c|-clear-static-content] [-f|-force] [-all]

magento 모듈: 비활성화 [-c|-clear-static-content] [-f|-force] [-all]

jQuery 라이브러리 사용

jQuery 이외의 사용자 정의 js 라이브러리를 추가하는 경우 다음과 같은 require 함수 안에 js 코드를 포함해야 합니다.

require(['jquery', 'jquery/ui'], function($){
//여기에 js 코드
});

백엔드 세션 시간 초과 설정

관리자 패널에서 백엔드 세션 시간 초과를 설정할 수 있습니다.

저장소->설정->구성->고급->관리자->보안->관리자 세션 수명(초)

스크립트 및 CSS에 대한 404 오류

프로덕션 모드가 아닐 때 Magento 2는 일부 정적 리소스에 대한 심볼릭 링크를 생성하려고 시도합니다. 다음을 수행하여 해당 동작을 변경할 수 있습니다.

  • app/etc/di.xml을 열고 virtualType name=”developerMaterialization”을 찾으십시오 . 해당 섹션에서 수정하거나 삭제해야 하는 항목 이름="view_preprocessed" 를 찾을 수 있습니다. Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink 에서 Magento\Framework\App\View\Asset\MaterializationStrategy\Copy로 내용을 변경하여 수정할 수 있습니다.
  • 기존 심볼릭 링크를 제거하려면 pub/static 아래에 있는 파일을 삭제하십시오. .htaccess 를 삭제하지 않도록 주의할 수 있습니다.

Magento 2의 일반적인 SEO 문제

새로운 Magento 2 플랫폼을 분석하는 동안 SEO와 관련 하여 가장 흔한 실수를 발견했습니다. Magento 2 기반 웹사이트는 SEO가 완벽하게 설정되어 있을 때 성공할 수 있습니다. 최신 버전의 Magento에서는 SEO에서 수행된 주요 개선 사항을 찾을 수 있습니다. 가장 흔한 SEO 실수와 그 해결책은 다음과 같습니다.

웹사이트의 HTTP 및 HTTPS 버전 모두 인덱싱

웹 사이트의 HTTP 및 https 버전을 인덱싱할 때 버전 중 하나를 중복 콘텐츠로 간주합니다.

이 실수를 방지하려면 기본 버전을 인덱싱해야 하며 동일한 URL의 다른 버전은 rel canonical이 있는 https 버전을 가리켜야 합니다. 예를 들어, https는 웹사이트에 대한 기본 버전이고, HTML 코딩에서 HTTP 버전은 https를 가리키는 rel canonical을 가져야 하며 그 반대의 경우도 마찬가지입니다.

텍스트 차단 계층화된 탐색 매개변수

일반적으로 계층화된 탐색은 SEO 측면에서 웹사이트에 전혀 좋지 않습니다. 필터, 정렬 및 계층화된 탐색이 '원시' 상태에서 인덱싱되는 것을 항상 피해야 합니다. 또한 필터링 및 정렬된 페이지를 적절하게 최적화된 방문 페이지로 전환할 수 있는 계층화된 탐색 확장 프로그램을 사용할 수 있습니다.

일반적인 확장 문제 및 솔루션

Magento 2 버전용 확장을 사용하는 경우 다음 문제와 수정 사항을 확인하십시오.

Magento 버전과의 호환성

Magento 2 확장을 다운로드하기 전에 현재 사용 중인 Magento 버전과 호환되는지 확인하십시오. 예를 들어, M 2.1용으로 만들어진 많은 확장이 2.0에서 작동하지 않을 수 있습니다.

설치 단계

설치 지침에 제공된 모든 단계를 따르십시오.

최신 버전의 Magento 2 확장

확장 기능을 사용하려면 더 나은 기능을 위해 해당 확장의 최신 릴리스를 다운로드하십시오.

정적 캐시 지우기

확장을 설치한 후에는 상점에서 실제로 확장을 사용하기 전에 정적 캐시를 지우는 것을 잊지 마십시오. 시스템 > 캐시 관리 > 정적 파일 캐시 플러시를 통해 수행할 수 있습니다.

정적 콘텐츠 캐시

설정이나 확장을 변경한 경우 정적 콘텐츠 캐시를 지워야 합니다. 이렇게 하면 프런트 엔드가 이전 CSS 파일이 아닌 새 설정에서 작동하는지 확인할 수 있습니다.

관리 세션 문제

관리자 세션 문제를 해결하려면 로그아웃한 다음 관리자 패널에 다시 로그인하세요.

기능

스토어에 확장 프로그램을 다운로드, 설치 및 적용하기 전에 스토어에 있는 기존 확장 기능과 충돌할 수 있으므로 기능을 주의 깊게 확인하십시오.

설치 문제 및 해결 방법

확장을 복사할 올바른 위치

확장이 제대로 작동하려면 올바른 폴더에 복사해야 합니다. 예를 들어 MConnect Media의 확장 프로그램은 app/code/Mconnect/MODULE_NAME 아래에 있습니다.

시스템 요구 사항

Magento 2를 실행하기 전에 모든 시스템 요구 사항이 있는지 확인하십시오.

Magento 2 문제 조사를 위한 일반적인 절차

  • ./var/log 디렉토리 또는 Magento 2 설치를 확인하십시오. 로그, 특히 log 및 system.log에서 오류 또는 예외를 찾으십시오.
  • 페이지를 열 때 '요청을 처리하는 동안 오류가 발생했습니다' 메시지가 표시되면 해당 메시지에서 보고서 ID를 가져오고 ./var/report 디렉토리를 확인하십시오. 동일한 이름의 파일이 있을 것입니다.
  • 파일 권한 문제가 있을 수 있습니다. Magento 2 저장소 디렉토리에 있는 파일의 소유자와 권한을 확인하십시오. chown(소유자 변경) 및 chmod(모드 변경) UNIX 명령을 사용하여 그에 따라 업데이트하십시오.
  • 웹 서버 로그를 확인하십시오. Fe, Apache의 경우 /var/log/apache2 또는 /var/log/httpd이며 폴더는 시스템에 따라 다릅니다.
  • Magento 2 캐시 파일 지우기(캐시가 활성화된 경우) 다음과 같은 경우에 도움이 됩니다.

./var/캐시
./var/page_cache
./var/세대

  • 스토어를 개발자 모드로 전환: Magento 루트 디렉토리에서 .htaccess 파일을 열고 SetEnv MAGE_MODE "developer"를 활성화하거나 CLI 명령을 사용하여: php bin/magento deploy:mode:set developer
  • 이 모드에서는 더 많은 기술 정보(오류)를 표시할 수 있습니다.
  • ini 파일에서 PHP 오류 보고 활성화:

ini_set('디스플레이_스타트업_오류',1);
ini_set('디스플레이 오류',1);
error_reporting(-1);

프런트 엔드 문제

  • 브라우저 콘솔에서 오류를 확인합니다(Chrome: 개발자 도구/콘솔).
  • Magento 2 템플릿 페이지 힌트 활성화: 관리자 패널에서 Stores / Settings / Configuration / Advanced / Developer / Debug / 'Enabled Template Path Hints for Storefront' 섹션을 엽니다.

아직 문의사항이 있으신가요? 추가 도움이 필요하면 Magento 개발자 에게 문의하십시오 .