Я не могу загрузить изображения в админ панель magento, появляется сообщение об ошибке «Папка назначения недоступна для записи или не существует». Недавно переместил все файлы с одного хостинга на другой. Любое решение для этого?
Я не могу загрузить изображения в админ панель magento, появляется сообщение об ошибке «Папка назначения недоступна для записи или не существует». Недавно переместил все файлы с одного хостинга на другой. Любое решение для этого?
Ответы:
В вашем проекте откройте файл 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
Убедитесь, что папка media media / 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 эта проблема все еще появляется.