Magento 1.9.2 এবং php7 - চিত্র আপলোড ত্রুটি error


9

আমি কেবল পিএইচপি with. এর সাথে ম্যাজেন্টো ১.৯.২ পরীক্ষা করছি All সমস্তই কাজ করছে বলে মনে হয়েছিল, তবে হঠাৎ আমি পণ্যের জন্য চিত্র আপলোড করার চেষ্টা করেছি। আমি নীচের মত ত্রুটি পেয়েছি:

Fatal error</b>:  Uncaught Error: Function name must be a string in /home/admin/domains/store.com/public_html/dev/lib/Varien/File/Uploader.php:259
Stack trace:
#0 /home/admin/domains/store.com/public_html/dev/lib/Varien/File/Uploader.php(180): Varien_File_Uploader-&gt;_validateFile()
#1 /home/admin/domains/store.com/public_html/dev/app/code/core/Mage/Adminhtml/controllers/Catalog/Product/GalleryController.php(46): Varien_File_Uploader-&gt;save('/home/admin/dom...')
#2 /home/admin/domains/store.com/public_html/dev/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Adminhtml_Catalog_Product_GalleryController-&gt;uploadAction()
#3 /home/admin/domains/store.com/public_html/dev/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action-&gt;dispatch('upload')
#4 /home/admin/domains/store.com/public_html/dev/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard-&gt;match(Object(Mage_Core_Controller in <b>/home/admin/domains/store.com/public_html/dev/lib/Varien/File/Uploader.php

কেউ কীভাবে এটি ঠিক করতে জানেন?

প্রায় 259 লাইনে লাইন আপলোড.এফপিতে ফাংশন প্রভাবিত

protected function _validateFile()
    {
        if ($this->_fileExists === false) {
            return;
        }

        //is file extension allowed
        if (!$this->checkAllowedExtension($this->getFileExtension())) {
            throw new Exception('Disallowed file type.');
        }
        //run validate callbacks
        foreach ($this->_validateCallbacks as $params) {
            if (is_object($params['object']) && method_exists($params['object'], $params['method'])) {
                $params['object']->$params['method']($this->_file['tmp_name']);
            }
        }
    }

উত্তর:


34

http://php.net/manual/de/migration70.incompomp.php https://wiki.php.net/rfc/uniform_variable_syntax

অভিন্ন পরিবর্তনশীল সিনট্যাক্সের কারণে কোডটি এখন বাম থেকে ডানে কঠোরভাবে ব্যাখ্যা করা হয়েছে।

লাইন

$params['object']->$params['method']($this->_file['tmp_name']);

হতে হবে

$params['object']->{$params['method']}($this->_file['tmp_name']);

এই উত্তরে সম্পাদনা করতে আপনি সমস্ত ফাইলের একটি ওভারভিউ খুঁজে পেতে পারেন ।


শীতল, 100% কাজ করে আমি আশা করি Magento 1.9.2 এর অন্য কোনও পিএইচপি 7 অসম্পূর্ণতা নেই। সাহায্যের জন্য ধন্যবাদ!
বিক্রয়ও

এই কোডটি আমার জন্য magento 1.9.2.4
ম্যাটিনিকট

এই সমাধানটিতে আপনার একটি ভাল পিএইচপি 7 পারফরম্যান্সের জন্য সম্পাদনা করতে হবে এমন সমস্ত ফাইল রয়েছে: magento.stackexchange.com/a/105604/37536
অ্যালেক্স

দুর্দান্ত ... এটি আমার জন্য ভাল কাজ করছে
রমেশ কুমার

2

উপরের উত্তরগুলি ছাড়াও, ফাইলটি পরীক্ষা করতে ভুলবেন না:

এতে 259 লাইনে on src \ Varien_File_Uploader.php অন্তর্ভুক্ত রয়েছে

প্রতিস্থাপন করা

$params['object']->$params['method']($this->_file['tmp_name']);

সঙ্গে

$params['object']->{$params['method']}($this->_file['tmp_name']);

এই টেম্প ফাইলগুলি সম্পাদনা করার পরিবর্তে কেবল পুনরায় সংকলন করা উচিত?
অ্যান্ডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.