मैं Magento के व्यवस्थापक पैनल में छवियां अपलोड करने में असमर्थ हूं, "त्रुटि फ़ोल्डर गलत नहीं है या मौजूद नहीं है"। हाल ही में एक होस्टिंग से दूसरे में सभी फ़ाइलों को स्थानांतरित कर दिया। इसके लिए कोई उपाय?
मैं Magento के व्यवस्थापक पैनल में छवियां अपलोड करने में असमर्थ हूं, "त्रुटि फ़ोल्डर गलत नहीं है या मौजूद नहीं है"। हाल ही में एक होस्टिंग से दूसरे में सभी फ़ाइलों को स्थानांतरित कर दिया। इसके लिए कोई उपाय?
जवाबों:
अपने प्रोजेक्ट में फ़ाइल खोलें lib/Varien/File/Uploader.php
और फ़ंक्शन के Mage::log()
अंदर रखें save()
।
public function save($destinationFolder, $newFileName = null)
{
$this->_validateFile();
if ($this->_allowCreateFolders) {
$this->_createDestinationFolder($destinationFolder);
}
if (!is_writable($destinationFolder)) {
// Put a mage::log() and check what is the folder magento is looking for.
Mage::log($destinationFolder);
throw new Exception('Destination folder is not writable or does not exists.');
}
...
}
लॉग से आप उस फ़ोल्डर का पता लगा सकते हैं जिसे Magento ढूंढ रहा है। और फिर उस फ़ोल्डर के लिए अनुमतियों की जाँच करें।
मुझे Magento 2 पर वही त्रुटि मिलती है, और यह वह फ़ाइल है जहाँ इस मामले में त्रुटि आती है:
vendor/magento/framework/File/Uploader.php
लाइन पर 256
आप इस कोड को अस्थायी रूप से अलिखित / अनएक्स्टिंग फोल्डर प्राप्त करने के लिए रख सकते हैं:
if( !is_writable($destinationFolder) ) {
// throw new Exception('Destination folder is not writable or does not exists.');
throw new Exception($destinationFolder);
}
अन्यथा, जांचें कि क्या ये फ़ोल्डर मौजूद हैं और यह वेब सर्वर द्वारा लिखने योग्य हैं:
pub/media/catalog/
pub/media/catalog/category
pub/media/catalog/product
pub/media/images
pub/media/wysiwyg/
मेरे लिए समस्या को हल करके बनाया गया था
पब / मीडिया / tmp
वेब सर्वर द्वारा लिखने योग्य
"पब / मीडिया" निर्देशिका के तहत अगले फ़ोल्डर भी लेखन हैं
- banners
- catalog
- images
- wysiwyg
इसकी कीमत के लिए मैंने इस मुद्दे को कुछ बार देखा है और यह भूल गया है कि यह आमतौर पर छवि फ़ाइल ही है, अनुमतियों और सभी को सत्यापित करने के बाद सर्वर नहीं। यह अभी भी छवि को अपलोड नहीं करेगा क्योंकि यह बहुत बड़ा था, या तो आयामों में या फ़ाइलों में।
मेरे लिए समाधान इस प्रकार हैं:
अपलोड करने से पहले एक हाई-आरईजेड फोटो को स्केल करें।
Magento बढ़ाएँ अधिकतम रिज़ॉल्यूशन या अपलोड छवि System > Catalog > Product Image
सुनिश्चित करें कि मीडिया फ़ोल्डर मीडिया / tmp / कैटलॉग / उत्पाद मौजूद है "और अपने वेबसर्वर द्वारा उस निर्देशिका को लिखने योग्य बनाएं"
777
, यह कहना बेहतर है "और उस निर्देशिका को अपने वेबसर्वर द्वारा लिखने योग्य बनाएं"। विचार यह है कि हर एक उपयोगकर्ता को केवल लिखने के लिए एक्सेस देने की आवश्यकता नहीं है ताकि आपका वेबसर्वर चित्र लिख सके। (मैं नीचे उतरने वाला नहीं हूं, लेकिन सिर्फ इस मामले में कि आप क्या सोच रहे थे, यही कारण है कि सबसे अधिक संभावना है)
कृपया जांच मीडिया होने फ़ोल्डर 777 आप permission.If संकलन मोड साधन भी जांच करने के लिए सक्षम कर रहे हैं शामिल होने फ़ोल्डर 777 अनुमति।
777 उन फ़ोल्डरों की अनुमति देने के बाद मेरे लिए हल मुद्दा।
यह Plesk प्रशासन से समाप्त हो चुका प्रमाण पत्र हो सकता है (यह मेरा मामला था)।
मैंने ऊपर दिए गए चरणों की कोशिश की, लेकिन यह काम नहीं किया। वहाँ से मैंने सभी फ़ोल्डरों को एक ही बार में अनुमतियाँ देने के लिए FileZilla के माध्यम से फ़ाइलों तक पहुँचने की कोशिश की, इसलिए समाप्त हो चुके प्रमाणपत्र के बारे में एक त्रुटि संदेश। यह स्टोर का एसएसएल सर्टिफिकेट नहीं है, बल्कि पीएलसी का प्रशासन है। मैंने एक नया स्व-हस्ताक्षरित प्रमाण पत्र बनाया, इसके प्लेस्क प्रशासन को लागू किया और सब कुछ सामान्य हो गया।
इसने मेरे लिए काम किया। मैं यहां अपना योगदान छोड़ता हूं।
सौभाग्य
फ़ाइल अपलोड के लिए Magento में एक बग है जब आपके Magento DocumentRoot को vhost पर ठीक से सेट किया गया है
/path/to/magento/pub
के बजाय (पदावनत)
/path/to/magento
अपलोडर फ़ाइलों को बनाने की कोशिश करता है
/path/to/magento/pub/pub/your_upload_dir
ध्यान दें कि लोक पब दो बार जाता है। उन्होंने बताया कि वे इसे 2.2.0+ में ठीक कर देंगे, लेकिन 2.2.1 में यह समस्या अभी भी दिखाई देती है।