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साथ एम 2 के साथ संगत करता है लेकिन जब रेपो स्थापित करने की कोशिश की जाती है तो मुझे निम्नलिखित त्रुटि मिलती है:

समस्या 1 - Magento / उत्पाद-समुदाय-संस्करण 2.1.1 के लिए स्थापना अनुरोध -> Magento / उत्पाद-समुदाय-संस्करण [2.1.1] द्वारा संतोषजनक। - Magento / उत्पाद-समुदाय-संस्करण 2.1.1 के लिए php की आवश्यकता है ~ 5.6.0 | 7.0.2 | ~ 7.0.6 -> आपका PHP संस्करण (7.1.0RC3) उस आवश्यकता को पूरा नहीं करता है।

जवाबों:


23

अपडेट - सितंबर 2017:

Magento 2.2 अब आधिकारिक तौर पर PHP 7.1 का समर्थन करता है, इसलिए कि Magento संस्करण अब से आपके लिए लक्ष्य होना चाहिए यदि PHP 7.1 कुछ ऐसा है जिसे आप चाहते हैं या आपके मंच पर चाहिए।


मूल - अक्टूबर 2016:

मैं वास्तव में सोच रहा था कि क्या देवदास प्रलेखन एक गलती है और शायद वे 7.1.0 के बजाय PHP 7.0.10 का मतलब है कि मेरे लिए और अधिक समझ में आता है।

कहा जा रहा है, मुझे लगता है कि मैगेंटो 2.1.1 PHP 7.1 के साथ संगत हो सकता है, अगर आप इसका परीक्षण करना चाहते हैं, तो बस अपने कंपोज़र कमांड में इस अतिरिक्त पैरामीटर को जोड़ने के लिए संगीतकार को बताएं कि PHP संस्करण की समय-समय पर जाँच करें।

composer install --ignore-platform-reqs

अपडेट करें:

गितुब पर एक मुद्दा उठाने के बाद, आवश्यकताओं का वर्णन अब यह दर्शाने के लिए अद्यतन किया गया है कि PHP 7.1 इस बिंदु पर समर्थित नहीं है। विवरण वास्तव में एक टाइपो था।


यह संगीतकार के मुद्दे की तरह लग रहा था जैसा कि नीचे दिए गए fschmengler ने सुझाव दिया था, लेकिन यह भ्रामक देव डॉक्स फिर से है। PHP संस्करण v7.0.11 और बिंगो के लिए डाउनग्रेड किया गया।
देवत्व

9

दो संभावनाएँ हैं:

  1. देवदोक गलत हैं और PHP 7.1 समर्थित नहीं है
  2. आवश्यकता composer.jsonगलत है।

चूंकि Magento 2.1 को PHP 7.1 से पहले जारी किया गया था, इसलिए यह सबसे अधिक संभावना वाला विकल्प (2) है और कंपोज़र.जेसन में आवश्यकता अभी तक अपडेट नहीं की गई है।

लेकिन आप इसे अनदेखा कर सकते हैं और मैगेंटो वैसे भी स्थापित कर सकते हैं, यदि आप --ignore-platform-reqsअपने 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.phpऔर @उपसर्ग के साथ mcrypt / mdecrypt चेतावनियों को दबाएं :

    यहाँ छवि विवरण दर्ज करें

मैंने इस हैक को Magento 2.1.3 नमूना डेटा इंस्टॉलेशन पर परीक्षण किया।

मूल रूप से मेरे द्वारा PHP 7.1.0 पर Magento 2.1.3 के रूप में प्रकाशित किया गया है


1
परवाह करने के लिए क्यों downvote?
कोंस्टेंटिन गेरासिमोव

3

मैंने नहीं किया composer install --ignore-platform-reqs केवल यह सुनिश्चित करने के लिए कि मैं सर्वर पर कुछ और नहीं चला रहा हूं (या कुछ याद कर रहा हूं) जो एम 2 के साथ असंगत है।

इसे काम करने के लिए मैंने 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 /

बस!!!! डाउनग्रेड क्यों, अगर यह एक नया सेटअप है। नवीनतम स्थिर रिलीज़ के लिए जाएं :)!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.