ฉันไม่สามารถอัปโหลดภาพในแผงผู้ดูแลระบบของวีโอไอพีได้รับข้อผิดพลาด "โฟลเดอร์ปลายทางไม่สามารถเขียนได้หรือไม่มีอยู่" ย้ายไฟล์ทั้งหมดจากโฮสติ้งหนึ่งไปยังอีกไฟล์เร็ว ๆ นี้ มีทางออกสำหรับเรื่องนี้ไหม?
ฉันไม่สามารถอัปโหลดภาพในแผงผู้ดูแลระบบของวีโอไอพีได้รับข้อผิดพลาด "โฟลเดอร์ปลายทางไม่สามารถเขียนได้หรือไม่มีอยู่" ย้ายไฟล์ทั้งหมดจากโฮสติ้งหนึ่งไปยังอีกไฟล์เร็ว ๆ นี้ มีทางออกสำหรับเรื่องนี้ไหม?
คำตอบ:
ในโครงการของคุณเปิดไฟล์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
สามารถเขียนได้โดยเว็บเซิร์ฟเวอร์
โฟลเดอร์ถัดไปภายใต้ไดเรกทอรี "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/magento
Uploader พยายามสร้างไฟล์
/path/to/magento/pub/pub/your_upload_dir
โปรดทราบว่าสถานที่ตั้งผับสองครั้ง พวกเขาบอกว่าพวกเขาจะแก้ไขได้ใน 2.2.0+ แต่ใน 2.2.1 ปัญหานี้ยังคงปรากฏ