ฉันไม่สามารถอัปโหลดภาพในแผงผู้ดูแลระบบของวีโอไอพีได้รับข้อผิดพลาด "โฟลเดอร์ปลายทางไม่สามารถเขียนได้หรือไม่มีอยู่" ย้ายไฟล์ทั้งหมดจากโฮสติ้งหนึ่งไปยังอีกไฟล์เร็ว ๆ นี้ มีทางออกสำหรับเรื่องนี้ไหม?
ฉันไม่สามารถอัปโหลดภาพในแผงผู้ดูแลระบบของวีโอไอพีได้รับข้อผิดพลาด "โฟลเดอร์ปลายทางไม่สามารถเขียนได้หรือไม่มีอยู่" ย้ายไฟล์ทั้งหมดจากโฮสติ้งหนึ่งไปยังอีกไฟล์เร็ว ๆ นี้ มีทางออกสำหรับเรื่องนี้ไหม?
คำตอบ:
ในโครงการของคุณเปิดไฟล์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/categorypub/media/catalog/productpub/media/imagespub/media/wysiwyg/สำหรับฉันปัญหาได้รับการแก้ไขโดยการทำ
ผับ / สื่อ / tmp
สามารถเขียนได้โดยเว็บเซิร์ฟเวอร์
โฟลเดอร์ถัดไปภายใต้ไดเรกทอรี "pub / media" สามารถเขียนทับได้
- banners
- catalog
- images
- wysiwygสำหรับสิ่งที่คุ้มค่าฉันมีปัญหานี้สองสามครั้งและลืมไปแล้วว่ามันมักจะเป็นไฟล์ภาพตัวเองไม่ใช่เซิร์ฟเวอร์หลังจากตรวจสอบสิทธิ์แล้วทั้งหมด มันยังคงไม่อัปโหลดภาพเพราะมันมีขนาดใหญ่เกินไปไม่ว่าจะเป็นขนาดหรือขนาดไฟล์
ทางออกสำหรับฉันคือ:
ลดขนาดภาพ HIGH-REZ ก่อนที่จะอัปโหลด
เพิ่ม magento ความละเอียดสูงสุดหรืออัพโหลดภาพ System > Catalog > Product Image
ตรวจสอบให้แน่ใจว่ามีโฟลเดอร์สื่อ / tmp / catalog / product อยู่ "และทำให้ไดเรกทอรีนั้นเขียนได้โดยเว็บเซิร์ฟเวอร์ของคุณ"
777เป็นดีกว่าที่จะพูดว่า "และทำให้ไดเรกทอรีนั้นเขียนได้โดยเว็บเซิร์ฟเวอร์ของคุณ" แนวคิดคือไม่จำเป็นต้องให้สิทธิ์การเข้าถึงการเขียนของผู้ใช้ทุกคนเพียงครั้งเดียวเพื่อให้เว็บเซิร์ฟเวอร์ของคุณสามารถเขียนภาพได้ (ฉันไม่ใช่คนที่ถูกลงคะแนน แต่ในกรณีที่คุณสงสัยนี่น่าจะเป็นเหตุผลว่าทำไม)
                    โปรดตรวจสอบโฟลเดอร์สื่อที่มีการอนุญาต777 หากคุณเปิดใช้งานโหมดการรวบรวมหมายความว่าการตรวจสอบรวมถึงโฟลเดอร์ที่มีการอนุญาต777ด้วย
หลังจากให้สิทธิ์ 777 กับปัญหาโฟลเดอร์เหล่านั้นได้รับการแก้ไขสำหรับฉัน
อาจเป็นใบรับรองที่หมดอายุจากการบริหาร Plesk (เป็นกรณีของฉัน)
ฉันลองขั้นตอนข้างต้นแล้ว แต่ไม่ได้ผล จากนั้นฉันพยายามเข้าถึงไฟล์ผ่าน FileZilla เพื่อให้สิทธิ์กับโฟลเดอร์ทั้งหมดในครั้งเดียวดังนั้นจึงเกิดข้อผิดพลาดเกี่ยวกับใบรับรองหมดอายุ ไม่ใช่ใบรับรอง SSL ของร้านค้าเอง แต่เป็นการดูแลระบบของ Plesk ฉันสร้างใบรับรองแบบลงนามด้วยตนเองใหม่ใช้การดูแลระบบ Plesk และทุกอย่างกลับเป็นปกติ
สิ่งนี้ใช้ได้สำหรับฉัน ฉันออกจากที่นี่การมีส่วนร่วมของฉัน
โชคดี
มีข้อผิดพลาดใน Magentoสำหรับการอัปโหลดไฟล์เมื่อ Magento DocumentRoot ของคุณบน vhost ได้รับการตั้งค่าอย่างเหมาะสม
/path/to/magento/pubแทน (เลิกใช้งาน)
/path/to/magentoUploader พยายามสร้างไฟล์
/path/to/magento/pub/pub/your_upload_dirโปรดทราบว่าสถานที่ตั้งผับสองครั้ง พวกเขาบอกว่าพวกเขาจะแก้ไขได้ใน 2.2.0+ แต่ใน 2.2.1 ปัญหานี้ยังคงปรากฏ