Magento 2.1.1はPHP 7.1.0と互換性がありません


14

PHPがv7.1.0RC3インストールされた新しいサーバーを使用しました。DevDocsによると、Magento 2はM2 との互換性が7.0.2 up to 7.1.0, except for 7.0.5ありますPHP 7.1.0が、レポをインストールしようとすると次のエラーが発生します:

問題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と互換性があると思います。テストしたい場合は、この追加パラメーターを作曲家コマンドに追加して、とりあえずPHPバージョンチェックを無視するようにComposerに指示してください。

composer install --ignore-platform-reqs

更新:

Githubで問題を提起した後、要件の説明が更新され、この時点ではPHP 7.1がサポートされていないことが反映されています。説明は確かにタイプミスでした。


fschmenglerが以下に示唆するように、これは作曲家の問題に似ていましたが、再び誤解を招く開発ドキュメントです。PHPバージョンv7.0.11およびbingoにダウングレードされました。
Devtype

9

次の2つの可能性があります。

  1. devdocsが間違っているため、PHP 7.1はサポートされていません
  2. の要件composer.jsonが間違っています。

Magento 2.1はPHP 7.1より前にリリースされたため、おそらくオプション(2)であり、composer.jsonの要件はまだ更新されていません。

ただし--ignore-platform-reqscomposer installコマンドに引数を追加する場合は、無視して、とにかくMagentoをインストールできます。

更新: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.php付けてmcrypt / mdecrypt警告にパッチを適用して抑制し@ます。

    ここに画像の説明を入力してください

このハックは、Magento 2.1.3サンプルデータのインストールでテストしました。

PHP 7.1.0でMagento 2.1.3として最初に公開された


1
なぜダウン投票するのかを説明しますか?
コンスタンチンジェラシモフ

3

私はcomposer install --ignore-platform-reqs、サーバー上でM2と互換性のないもの(または何かが足りないもの)を実行していないことを確認するだけではありませんでした。

それを動作させるためPHP version 7.0.11 に、サーバーでダウングレードしましたが、Magento 2.1.1は互換性がPHP version 7.0.11ありませんPHP 7.1.0


2

これを書いている時点では、Magentoバージョンは2.1であり、PHP7.1との互換性はありません。PHP7.1で実行しようとすると、次のエラーが表示されます。

詳細はこちらhttps://github.com/magento/magento2/issues/5880

Deprecated Functionality: Function mcrypt_module_open() is deprecated in /var/www/html/magento/vendor/magento/fr
  amework/Encryption/Crypt.php on line 54

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を使用できます

乾杯!!!


0

実際、これはコマンドスニペットの単なる誤植です。

変更: wget https://github.com/magento/magento2/archive/2.1.tar.gz tar -xzvf 2.1.tar.gz mv magento2-2.1 / magento2 /

wgetのhttps://github.com/magento/magento2/archive/2.2.tar.gz タール-xzvf 2.2.tar.gz MV magento2-2.2 / magento2 /

それでおしまい!!!!これが新しいセットアップの場合、ダウングレードする理由。最新の安定版リリースを探してください:)!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.