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?
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?
Câu trả lời:
Trong dự án của bạn mở tệp lib/Varien/File/Uploader.php
và đặ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 đó.
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, 256
bạ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/
Đố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
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
Đả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"
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)
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.
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
Có 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.