Saya tidak dapat mengunggah gambar di panel admin magento, mendapatkan kesalahan "Folder tujuan tidak dapat ditulis atau tidak ada". Baru-baru ini memindahkan semua file dari satu hosting ke yang lain. Ada solusi untuk ini?
Saya tidak dapat mengunggah gambar di panel admin magento, mendapatkan kesalahan "Folder tujuan tidak dapat ditulis atau tidak ada". Baru-baru ini memindahkan semua file dari satu hosting ke yang lain. Ada solusi untuk ini?
Jawaban:
Dalam proyek Anda, buka file lib/Varien/File/Uploader.php
dan letakkan fungsi Mage::log()
di dalamnya 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.');
}
...
}
Dari log Anda dapat menemukan folder yang dicari Magento. Dan kemudian periksa izin untuk folder itu.
Saya mendapatkan kesalahan yang sama di Magento 2, dan ini adalah file tempat kesalahan berasal dalam kasus ini:
vendor/magento/framework/File/Uploader.php
Pada baris 256
Anda dapat menempatkan sementara kode ini untuk mendapatkan folder yang tidak dapat ditulis / tidak ada:
if( !is_writable($destinationFolder) ) {
// throw new Exception('Destination folder is not writable or does not exists.');
throw new Exception($destinationFolder);
}
Jika tidak, periksa apakah folder ini ada dan yang dapat ditulis oleh server web:
pub/media/catalog/
pub/media/catalog/category
pub/media/catalog/product
pub/media/images
pub/media/wysiwyg/
Bagi saya masalahnya diselesaikan dengan membuat
pub / media / tmp
dapat ditulis oleh server web
Folder berikutnya di bawah direktori "pub / media" juga dapat ditulisi
- banners
- catalog
- images
- wysiwyg
Untuk apa nilainya saya telah mengalami masalah ini beberapa kali dan lupa bahwa itu biasanya file gambar itu sendiri, bukan server setelah memverifikasi izin dan semua itu. Itu masih tidak akan mengunggah gambar karena terlalu besar, baik dalam dimensi atau dalam ukuran file.
Solusi bagi saya adalah:
Perkecil foto HIGH-REZ sebelum diunggah.
Tambah magento Resolusi maksimum atau unggah gambar System > Catalog > Product Image
Pastikan folder media media / tmp / katalog / produk ada "dan buat direktori itu dapat ditulis oleh server web Anda"
777
, lebih baik mengatakan "dan membuat direktori itu dapat ditulis oleh server web Anda". Idenya adalah bahwa tidak perlu memberikan akses menulis setiap pengguna hanya agar server web Anda dapat menulis gambar. (Saya bukan orang yang menurunkan suara, tapi kalau-kalau Anda bertanya-tanya, ini kemungkinan besar alasannya)
Cek Mohon Media folder memiliki 777 permission.If Anda mengaktifkan sarana modus kompilasi juga cek termasuk folder memiliki 777 izin.
Setelah memberikan izin 777 ke folder itu masalah terselesaikan untuk saya.
Mungkin sertifikat yang kadaluwarsa dari administrasi Plesk (ini adalah kasus saya).
Saya mencoba langkah-langkah di atas, tetapi tidak berhasil. Dari sana saya mencoba mengakses file melalui FileZilla untuk memberikan izin sekaligus ke semua folder, karena itu pesan kesalahan tentang sertifikat kadaluarsa. Ini bukan sertifikat SSL toko itu sendiri, tetapi administrasi Plesk. Saya membuat sertifikat yang ditandatangani sendiri, menerapkan administrasi Plesk dan semuanya kembali normal.
Ini berhasil untuk saya. Saya meninggalkan kontribusi saya di sini.
Semoga berhasil
Ada bug di Magento untuk mengunggah file ketika magento DocumentRoot Anda di vhost diatur dengan benar
/path/to/magento/pub
Alih-alih (usang)
/path/to/magento
Pengunggah mencoba membuat file dalam
/path/to/magento/pub/pub/your_upload_dir
Perhatikan bahwa pub lokasi berjalan dua kali. Mereka mengatakan akan memperbaikinya di 2.2.0+ tetapi di 2.2.1 masalah ini masih muncul.