El archivo cargado no se pudo mover a wp-content/uploads/2015/01. problema al subir la imagen

4 minutos de lectura

avatar de usuario
Kesar Sisodiya

Estoy trabajando en un sitio web de WordPress desde hace 2 meses y he subido muchas imágenes antes, pero recibo un error al cargar la imagen y me enfrento a este problema después del año nuevo: – El archivo cargado no se pudo mover a wp-content/uploads /2015/01.

hay una captura de pantalla a continuación: –
El archivo subido no se pudo mover WordPress

  • ¿Este directorio siquiera existe?

    – Rizier123

    08/01/2015 a las 16:40

  • comprobar los permisos y el propietario del directorio

    – violador667

    08/01/2015 a las 16:40

  • sí he creado manualmente el directorio.

    – Kesar Sisodiya

    08/01/2015 a las 16:41

  • Si creó la carpeta, es probable que el servidor web no pueda acceder a ella. Elimine la carpeta y deje que el servidor la cree automáticamente con los permisos adecuados.

    – ceejayoz

    8 de enero de 2015 a las 16:44


  • No sé cómo hacer eso, ¿puedes explicarlo en respuesta?

    – Kesar Sisodiya

    8 de enero de 2015 a las 16:47

avatar de usuario
matt woodward

Este artículo explica y resuelve muy bien el problema: http://2surge.com/how-to-fix-the-uploaded-file-could-not-be-moved-to-wp-content-error-message

La premisa básica es que la identidad del proceso que ejecuta su subproceso httpd / apache / servidor web debe tener acceso de escritura a su directorio de carga.

Para resolver el problema:

  1. Compruebe con qué cuenta se está ejecutando su servidor web

    Actualizar: En el uso de Unix…

    ps aux | egrep '(apache|httpd)'

    … esto mostrará una lista de procesos para el servidor web junto con la identidad del proceso bajo el cual se está ejecutando, por ejemplo, “nadie”

    nobody 8718 0.1 0.4 1332864 17180 ? Sl 17:11 0:06 /usr/local/apache/bin/httpd -k start -DSSL

  2. Actualice el permiso del directorio de carga para permitir que esa cuenta escriba en él.

    Actualizar: En Unix, puede usar…

    chown -R nobody /<path to upload directory>/wp-content/upload/

    También puede modificar los permisos para esta cuenta (en la ubicación requerida) para asegurarse de que tenga permisos de escritura usando chmod o filezilla y aplicar los cambios en cascada a los directorios según sea necesario.

Consulte el artículo vinculado para obtener un desglose detallado. ¡Espero que ayude! 🙂

  • Esta es una mala solución, no debe otorgar a nadie la propiedad de ningún archivo o directorio, sino que debe cambiar el usuario que ejecuta el proceso del servidor web.

    – Omtara

    14 de junio de 2020 a las 8:33

  • @Omtara: tenga en cuenta que el uso de “nadie” fue solo un ejemplo, no una recomendación sobre la implementación adecuada de las credenciales. El enfoque de esta respuesta estaba en la atribución correcta de privilegios a la cuenta que accede solo al directorio de carga. Por favor, siéntase libre de contribuir a esa respuesta.

    –Matt Woodward

    15 de julio de 2020 a las 2:14

avatar de usuario
jhelaine de leon

Esto funciona para mí.

$ sudo chown -R _www uploads/
$ sudo chmod -R g+w uploads/

asumo que estas en el wp-content directorio.

Solo necesita dar permiso a PHP para escribir en el uploads carpeta, esto funcionó para mí:

sudo chown -R www-data <path>/wp-content/uploads

He buscado y he encontrado que el problema es del proveedor del servidor.

Por lo general, todos los archivos deben ser propiedad de su cuenta de usuario (ftp) en su servidor web, y esa cuenta debe poder escribirlos. En hosts compartidos, los archivos nunca deben ser propiedad del propio proceso del servidor web (a veces es www, apache o nadie).

Cualquier archivo que necesite acceso de escritura desde WordPress debe ser propiedad o propiedad del grupo de la cuenta de usuario utilizada por WordPress (que puede ser diferente a la cuenta del servidor). Por ejemplo, puede tener una cuenta de usuario que le permita enviar y recibir archivos mediante FTP en su servidor, pero su propio servidor puede ejecutarse con un usuario independiente, en un grupo de usuarios independiente, como dhapache o nadie. Si WordPress se ejecuta como cuenta FTP, esa cuenta debe tener acceso de escritura, es decir, ser el propietario de los archivos o pertenecer a un grupo que tenga acceso de escritura. En el último caso, eso significaría que los permisos se establecen de forma más permisiva que la predeterminada (por ejemplo, 775 en lugar de 755 para las carpetas y 664 en lugar de 644).

Puede ver aquí cómo cambiar el permiso del archivo.

Si está utilizando algo con SELinux (como Fedora o CentOS), también deberá configurar los permisos de SELinux. Suponiendo que su directorio se llama uploads (por ejemplo)

chcon -R -t httpd_sys_rw_content_t uploads

Esto establecerá uploads y todo lo que hay debajo para que se pueda cargar al usuario del servidor web

avatar de usuario
Alex

probablemente no tenga los permisos para crear /uploads/2015

Verifique si esa carpeta existe, si existe, luego verifique si /uploads/2015/1/ existe.

permisos:

chmod 755 /uploads/2015/1/
chown www-data:www-data /uploads/2015/1/

Estas carpetas deben tener los mismos permisos que la carpeta /uploads/. También verifique error_log, porque debería mostrarle exactamente qué carpeta está causando el problema.

avatar de usuario
Nuwan Sameera

esto funciona para mi

sudo chown -R www-data html

Suponiendo que el directorio actual es www

Ubuntu 16.04, Apache2

¿Ha sido útil esta solución?