Cuando utilizo una nueva instalación de Drupal 7.10, he configurado el directorio para cargas públicas en sites/uploads
.
Cuando luego agrego una imagen a una instancia de contenido, obtengo el original cargado sites/example.org/files/imagename.png
como se esperaba. Sin embargo, las otras imágenes (miniatura, mediana y grande) no se crean en sites/example.org/styles/*
.
El usuario de PHP5-FPM puede leer y escribir el directorio, por lo que no debería haber permisos de emisión.
¿Por qué pasó esto? ¿Cómo puedo arreglarlo?
Respuestas:
Correcto, la respuesta es de hecho un poco más sutil de lo que me di cuenta. Resulta que el
imagecache
reemplazo de D7 necesita algo de atención en su nginx vhost. Sin los 404 que se envían a Drupal por los archivos que faltan, las imágenes no se crean, algo de lo que no me di cuenta inicialmente, ya que supuse que se crearon al cargarlas.Debe agregarse a la definición de su servidor, y debe estar listo para rodar. Claramente, la ruta puede necesitar modificaciones para su configuración, pero para la mía lo fue.
fuente
Asegúrese de verificar tanto la ruta del sistema de archivos públicos como la ruta temporal en admin / config / media / file-system
Una vez que configuré ambas carpetas con los permisos correctos, mis subcarpetas se crean automáticamente cuando guardo un archivo, la imagen se guarda y el mensaje de error desaparece :-)
fuente
En mi caso, el problema estaba causando porque las imágenes se obtuvieron usando https,
Agregué las siguientes líneas en la configuración de página segura para ignorar https en las rutas de archivo.
*/files/*
Espero que esto ayude a alguien. :)
fuente
Si bien usted dice que ha verificado los permisos, todavía es donde yo comenzaría, ya que he tenido este problema con frecuencia, y casi siempre ha sido un problema de permisos.
Consejo general: en primer lugar, vaya a admin / config / media / file-system y haga clic en "Guardar configuración". Esto hará que Drupal reevalúe los permisos de los directorios establecidos y le dará mensajes de error si encuentra un problema.
Segundo: ¿Supongo que tiene un apache, o www-data, u otros usuarios, que posee el servidor web, en lugar del usuario de php? En un sistema Linux o Mac, sudo a ese usuario. Intentar escribir un archivo como el usuario correcto es la mejor manera de asegurarse de que tiene los permisos correctos. Vaya a sites / domain.com / files / y llame a "echo data> new_file; cat new_file;" en una terminal Esto verificará que realmente puede escribir en el directorio de escritura. Haga lo mismo con su directorio tmp. Esperemos que alguien más pueda sugerir cómo realizar las mismas acciones en un sistema como Windows.
Tercero: para descartar los permisos del directorio, aplique 777 recursivamente el directorio de archivos. Puede restaurar permisos más sanos después con
Cuarto: asegúrese de que el directorio tmp tenga permisos completos.
Quinto: es posible que deba comenzar a depurar el código si ya lo ha descubierto.
fuente
Para completar la respuesta de Letharion, este es el método que utilicé para crear estilos de imagen en miniatura, medio ...
Preciso que primero verifiqué todos los puntos enumerados anteriormente, sin resultado.
Luego (en un sistema operativo Linux), edité /usr/local/etc/suphp.conf para cambiar umask en php , de modo que pudiera crear archivos Y directorios con 755 permisos como máximo (estaba en 744 como máximo).
Y esto resolvió definitivamente el problema. :)
fuente
Estoy en Drupal 8.0.3.
En mi caso, esta carpeta no se genera en la instalación.
Así que lo puse copiando de la versión anterior de la instalación de Drupal.
Todas las imágenes, incluyendo miniaturas, medianas y grandes, ahora se muestran.
fuente
Verifique su archivo .htaccess en el directorio raíz y de archivos. Reemplace con el nuevo archivo .htaccess si es necesario
fuente