Unggahan gambar Magento tidak berfungsi bahkan setelah memberikan semua izin folder 777

9

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?

pengguna3164549
sumber
Paket hosting macam apa yang Anda miliki? Jika itu termasuk dukungan mungkin ada baiknya bertanya kepada mereka tentang izin saat ini.
David Manners
Kami memiliki dua situs web yang di-host di server yang sama dan kami memiliki semua izin untuk mengunggah file dan meskipun file tidak diunggah
user3164549

Jawaban:

16

Dalam proyek Anda, buka file lib/Varien/File/Uploader.phpdan 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.

Sukeshini
sumber
5
Terima kasih banyak saya lupa memberi izin file ke Media / tmp / kategori / produk, dan setelah memberikan izin file ke folder itu masalah telah teratasi
user3164549
2
Senang mendengar masalah Anda terpecahkan. Jika ini membantu menyelesaikan masalah, harap tandai sebagai jawabannya.
Sukeshini
5

Magento 2

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 256Anda 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/
Andrea
sumber
3

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
Eliut Islas
sumber
3

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

  • tingkatkan batas filesize PHP server Anda dengan .htaccess atau config lihat: /programming/6292687/upload-6-mb-image-in-magento
asherrard
sumber
2

Pastikan folder media media / tmp / katalog / produk ada "dan buat direktori itu dapat ditulis oleh server web Anda"

Altravista
sumber
Alih-alih mengatur izin 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)
Dan
ya tentu saja;)
Altravista
2

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.

Pasupathi Thangavel
sumber
0

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

Cledson Silva
sumber
0

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.

A.Maksymiuk
sumber