Magento 2.1.1은 PHP 7.1.0과 호환되지 않습니다


14

PHP가 v7.1.0RC3설치된 새 서버가 있습니다. 에 따르면 DevDocs 젠토 2와 호환 가능 7.0.2 up to 7.1.0, except for 7.0.5하게하는 PHP 7.1.0나는 다음과 같은 오류가 REPO 설치하려고하지만 경우 M2와 호환 :

문제 1-magento / product-community-edition 2.1.1의 설치 요청-> magento / product-community-edition [2.1.1]에 의해 만족되는 것. -magento / product-community-edition 2.1.1에는 php ~ 5.6.0 | 7.0.2 | ~ 7.0.6이 필요합니다.-> PHP 버전 (7.1.0RC3)이 해당 요구 사항을 충족하지 않습니다.

답변:


23

업데이트-2017 년 9 월 :

Magento 2.2는 공식적으로 PHP 7.1을 지원하므로 PHP 7.1이 플랫폼에서 필요하거나 필요로하는 경우 지금부터 목표로해야하는 Magento 버전입니다.


원본-2016 년 10 월 :

실제로 DevDocs 문서가 실수인지 궁금하고 아마도 7.1.0 대신 PHP 7.0.10을 의미했을 것입니다.

즉, Magento 2.1.1이 PHP 7.1과 호환 될 수 있다고 생각합니다. 테스트하려는 경우 composer 명령 에이 추가 매개 변수를 추가하여 Composer에게 PHP 버전 확인을 무시하도록 지시하십시오.

composer install --ignore-platform-reqs

최신 정보:

Github에서 문제를 일으킨 후,이 시점에서 PHP 7.1이 지원되지 않음을 반영하기 위해 요구 사항 설명이 업데이트되었습니다. 설명은 실제로 오타였습니다.


fschmengler가 아래에서 제안한 것처럼 작곡가 문제와 비슷해 보이지만 다시는 잘못된 개발자 문서입니다. PHP 버전 v7.0.11 및 빙고로 다운 그레이드되었습니다.
Devtype

9

두 가지 가능성이 있습니다.

  1. devdocs가 잘못되었고 PHP 7.1이 지원되지 않습니다
  2. 요구 사항 composer.json이 잘못되었습니다.

Magento 2.1은 PHP 7.1 이전에 출시되었으므로 옵션 (2) 일 가능성이 높으며 composer.json의 요구 사항은 아직 업데이트되지 않았습니다.

그러나 명령에 --ignore-platform-reqs인수를 추가하면 무시하고 Magento를 설치할 수 있습니다 composer install.

업데이트 : https://github.com/magento/magento2/issues/7663 에서 확인한 것처럼 Magento 2.1은 PHP 7.1과 호환되지 않습니다

업데이트 2 : 릴리스에 포함될 7.1 호환성을 위해 병합 된 PR이 있습니다 . https://github.com/magento/magento2/pull/8609#issuecomment-281743983을 참조 하십시오.


3

면책 조항 : 이것은 해킹입니다. 주의해서 사용하십시오.

다음은 PHP 7.1.0과 함께 최신 Magento 2.1.3을 설치하고 실행하는 방법입니다.

  1. 패치 setup/src/Magento/Setup/Model/PhpRedinessCheck.php:

    79         #$normalizedPhpVersion = $this->getNormalizedCurrentPhpVersion(PHP_VERSION);
    80         $normalizedPhpVersion = $this->getNormalizedCurrentPhpVersion('7.0.2');
  2. 접두사로 vendor/magento/framework/Encryption/Crypt.phpmcrypt / mdecrypt 경고를 패치 하고 억제하십시오 @.

    여기에 이미지 설명을 입력하십시오

Magento 2.1.3 샘플 데이터 설치에서이 핵을 테스트했습니다.

원래 PHP 7.1.0에서 Magento 2.1.3으로 게시되었습니다.


1
왜 downvote를 설명해야합니까?
Konstantin Gerasimov

3

composer install --ignore-platform-reqsM2와 호환되지 않는 서버에서 다른 것을 실행하지 않거나 무언가를 누락시키지 않았는지 확인 하지 않았습니다 .

작동 시키려면 PHP version 7.0.11 서버에서 다운 그레이드하고 Magento 2.1.1과 호환 PHP version 7.0.11되지 않는 트릭을 수행했습니다.PHP 7.1.0



0

에있는 기능을 편집해야합니다

your_magento_root/setup/src/Magento/Setup/Model/PhpReadinessCheck.php

추가해야합니다 $normalizedPhpVersion='7.0.6'; getNormalizedCurrentPhpVersion기능 라인

변경된 기능은

private function getNormalizedCurrentPhpVersion($version)
    {
        try {
            $normalizedPhpVersion = $this->versionParser->normalize($version);
        } catch (\UnexpectedValueException $e) {
            $prettyVersion = preg_replace('#^([^~+-]+).*$#', '$1', $version);
            $normalizedPhpVersion = $this->versionParser->normalize($prettyVersion);
        }
        $normalizedPhpVersion='7.0.6';
        return $normalizedPhpVersion;
    }

이것은 단계를 통과하고 Magento 2.1에서 PHP7.1.4를 사용할 수 있습니다

건배!!!


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