No puedo cargar imágenes en el panel de administración de magento, obtengo el error "La carpeta de destino no se puede escribir o no existe". Recientemente moví todos los archivos de un hosting a otro. ¿Alguna solución para esto?
No puedo cargar imágenes en el panel de administración de magento, obtengo el error "La carpeta de destino no se puede escribir o no existe". Recientemente moví todos los archivos de un hosting a otro. ¿Alguna solución para esto?
Respuestas:
En su proyecto, abra el archivo lib/Varien/File/Uploader.php
y coloque Mage::log()
dentro de la save()
función.
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.');
}
...
}
Desde el registro puede encontrar la carpeta que Magento está buscando. Y luego verifique los permisos para esa carpeta.
Me sale el mismo error en Magento 2, y este es el archivo de donde proviene el error en este caso:
vendor/magento/framework/File/Uploader.php
En línea 256
, puede colocar temporalmente este código para obtener la carpeta no escribible / inexistente:
if( !is_writable($destinationFolder) ) {
// throw new Exception('Destination folder is not writable or does not exists.');
throw new Exception($destinationFolder);
}
De lo contrario, verifique si estas carpetas existen y el servidor web puede escribirlas:
pub/media/catalog/
pub/media/catalog/category
pub/media/catalog/product
pub/media/images
pub/media/wysiwyg/
Para mi el problema se resolvió haciendo
pub / media / tmp
escribible por el servidor web
Las siguientes carpetas en el directorio "pub / media" también se pueden escribir
- banners
- catalog
- images
- wysiwyg
Por lo que vale, he tenido este problema varias veces y he olvidado que generalmente es el archivo de imagen en sí, no el servidor después de verificar los permisos y todo eso. Todavía no cargaría la imagen porque era demasiado grande, ya sea en dimensiones o en tamaño de archivo.
Las soluciones para mí son:
Reduzca la escala de una foto de ALTA REZ antes de cargarla.
Aumente la resolución máxima de magento o cargue la imagen System > Catalog > Product Image
Asegúrese de que la carpeta de medios media / tmp / catalog / product exista "y haga que su servidor web pueda escribir ese directorio"
777
, es mejor decir "y hacer que su servidor web pueda escribir ese directorio". La idea es que no hay necesidad de otorgar a cada usuario acceso de escritura solo para que su servidor web pueda escribir imágenes. (No soy el que votó en contra, pero por si te lo preguntabas, esta es probablemente la razón)
Compruebe amablemente la carpeta de medios con permiso 777. Si está habilitado, el modo de compilación significa que también incluye la carpeta con permiso 777 .
Después de dar permiso 777 a esas carpetas, el problema se resolvió por mí.
Puede ser el certificado vencido de la administración de Plesk (fue mi caso).
Intenté los pasos anteriores, pero no funcionó. Desde allí intenté acceder a los archivos a través de FileZilla para otorgar los permisos a la vez a todas las carpetas, de ahí un mensaje de error sobre el certificado caducado. No es el certificado SSL de la tienda en sí, sino la administración de Plesk. Creé un nuevo certificado autofirmado, apliqué su administración Plesk y todo volvió a la normalidad.
Esto funcionó para mí. Os dejo aquí mi aportación.
Buena suerte
Hay un error en Magento para cargar archivos cuando su DocumentRoot de magento en vhost está configurado correctamente para
/path/to/magento/pub
En lugar de (en desuso)
/path/to/magento
El cargador intenta crear archivos en
/path/to/magento/pub/pub/your_upload_dir
Tenga en cuenta que la ubicación pub va dos veces. Dijeron que lo solucionarán en 2.2.0+ pero en 2.2.1 este problema aún aparece.