Tải lên hình ảnh Magento không hoạt động ngay cả sau khi cấp tất cả các quyền 777 thư mục


9

Tôi không thể tải lên hình ảnh trong bảng quản trị magento, gặp lỗi "Thư mục đích không thể ghi hoặc không tồn tại". Gần đây đã chuyển tất cả các tập tin từ một lưu trữ khác. Bất kỳ giải pháp cho điều này?


Bạn có loại gói lưu trữ nào? Nếu nó bao gồm hỗ trợ có thể đáng để hỏi họ về các quyền hiện tại.
Phong tục David

Chúng tôi có hai trang web được lưu trữ trên cùng một máy chủ và chúng tôi có tất cả các quyền để tải lên một tệp và mặc dù các tệp không được tải lên
user3164549

Câu trả lời:


16

Trong dự án của bạn mở tệp lib/Varien/File/Uploader.phpvà đặt một chức năng Mage::log()bên trong 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.');
    }
    ...
}

Từ nhật ký, bạn có thể tìm ra thư mục mà Magento đang tìm kiếm. Và sau đó kiểm tra quyền cho thư mục đó.


5
Cảm ơn bạn rất nhiều, tôi đã quên cấp phép tệp cho Media / tmp / danh mục / sản phẩm và sau khi cấp quyền tệp cho thư mục đó, sự cố đã được giải quyết
user3164549

2
Vui mừng khi nghe vấn đề của bạn đã được giải quyết. Nếu điều này hữu ích giải quyết vấn đề xin vui lòng đánh dấu nó là câu trả lời.
Sukeshini

5

Magento 2

Tôi gặp lỗi tương tự trên Magento 2 và đây là tệp xuất hiện lỗi trong trường hợp này:

vendor/magento/framework/File/Uploader.php

Tại dòng, 256bạn có thể tạm thời đặt mã này để có được thư mục không thể chấp nhận / không tồn tại:

if( !is_writable($destinationFolder) ) {
    // throw new Exception('Destination folder is not writable or does not exists.');
    throw new Exception($destinationFolder);
} 

Mặt khác, kiểm tra xem các thư mục này có tồn tại không và có thể ghi được bởi máy chủ web không:

  • pub/media/catalog/
  • pub/media/catalog/category
  • pub/media/catalog/product
  • pub/media/images
  • pub/media/wysiwyg/

3

Đối với tôi, vấn đề đã được giải quyết bằng cách

quán rượu / phương tiện / tmp

có thể ghi bởi máy chủ web

Các thư mục tiếp theo trong thư mục "pub / media" cũng có thể ghi

- banners
- catalog
- images
- wysiwyg

3

Vì giá trị của nó, tôi đã gặp vấn đề này một vài lần và đã quên rằng đó thường là tệp hình ảnh, không phải máy chủ sau khi xác minh quyền và tất cả điều đó. Nó vẫn không tải lên hình ảnh vì nó quá lớn, theo kích thước hoặc kích thước tệp.

Các giải pháp cho tôi là:

  • Thu nhỏ hình ảnh CAO CẤP trước khi tải lên.

  • Tăng magento Độ phân giải tối đa hoặc tải lên hình ảnh System > Catalog > Product Image

  • tăng giới hạn kích thước tệp PHP của máy chủ của bạn bằng .htaccess hoặc config xem: /programming/6292687/upload-6-mb-image-in-magento

2

Đảm bảo rằng thư mục media media / tmp / catalog / sản phẩm tồn tại "và làm cho thư mục đó có thể ghi được bởi máy chủ web của bạn"


Thay vì đặt quyền 777, tốt hơn là nói "và làm cho thư mục đó có thể ghi được bởi máy chủ web của bạn". Ý tưởng là không cần phải cung cấp cho mỗi người dùng quyền truy cập ghi chỉ để máy chủ web của bạn có thể viết hình ảnh. (Tôi không phải là người bị đánh giá thấp, nhưng chỉ trong trường hợp bạn đang tự hỏi, đây rất có thể là lý do tại sao)
Dan

tất nhiên rồi;)
Altravista

2

Vui lòng kiểm tra thư mục phương tiện có quyền 777. Nếu bạn bật chế độ biên dịch nghĩa là cũng kiểm tra bao gồm thư mục có quyền 777 .

Sau khi cấp quyền 777 cho các vấn đề thư mục được giải quyết cho tôi.


0

Nó có thể là chứng chỉ hết hạn từ chính quyền Plesk (đó là trường hợp của tôi).

Tôi đã thử các bước trên, nhưng nó không hoạt động. Từ đó tôi đã cố gắng truy cập các tệp thông qua FileZilla để cấp quyền cùng một lúc cho tất cả các thư mục, do đó có thông báo lỗi về chứng chỉ hết hạn. Nó không phải là chứng chỉ SSL của chính cửa hàng, mà là quản trị của Plesk. Tôi đã tạo một chứng chỉ tự ký mới, áp dụng quản trị Plesk của nó và mọi thứ trở lại bình thường.

Điều này làm việc cho tôi. Tôi để lại đây đóng góp của tôi.

Chúc may mắn


0

lỗi trong Magento khi tải tệp lên khi magento DocumentRoot trên vhost của bạn được đặt đúng cho

/path/to/magento/pub

Thay vì (không dùng nữa)

/path/to/magento

Trình tải lên cố gắng tạo tệp trong

/path/to/magento/pub/pub/your_upload_dir

Lưu ý rằng vị trí quán rượu đi hai lần. Họ bảo họ sẽ sửa nó trong 2.2.0+ nhưng trong 2.2.1 vấn đề này vẫn xuất hiện.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.