¿Cómo Solucionar el Error HTTP al Subir Imágenes?

26 jul 2012, 20:05:54
Vistas: 207K
Votos: 30

Estoy usando WordPress 3.4.1 en Ubuntu 12.04 con Apache y PHP 5.3.X

Cuando inicio sesión en el panel de administración y agrego una nueva entrada, al intentar subir una imagen para establecerla como imagen destacada, recibo un cuadro rojo con el mensaje "Error HTTP".

He leído sobre personas que sugieren no usar el cargador de Flash y simplemente usar el cargador del navegador, pero cuando intento eso, solo obtengo un Error 500 Interno del Servidor.

He intentado agregar AddType x-mapp-php5 .php en la parte superior de mi archivo .htaccess, sin lograr ningún cambio.

Deshabilitar TODOS los plugins no tuvo efecto. Intenté una instalación nueva. Sin éxito.

Actualización 17/10/2016 - Si estás usando roles o capacidades personalizadas, intenta usar un rol/capacidades nativos e inténtalo de nuevo.

Aspectos a considerar revisar:

  • Propiedad de archivos
  • Permisos de archivos
  • Configuración del .htaccess
  • Versión de PHP 7+
  • Versión actual de WordPress

Si estás operando detrás de un proxy, asegúrate de tener los tiempos de espera del servidor proxy configurados correctamente.

Error HTTP en la Subida de Medios de WordPress 3.4.1

1
Comentarios

¿Cuál es el razonamiento detrás de AddType x-mapp-php5 .php? Esto parece ser muy específico del servidor. Podría pensar que es más probable que rompa tu sitio (es decir, PHP) horriblemente (o que no haga nada si tienes suerte) en lugar de mejorar algo.

MrWhite MrWhite
1 ene 2018 19:29:59
Todas las respuestas a la pregunta 6
4
27

Coloqué el siguiente código en mi archivo functions.php. ¡Funciona!

add_filter( 'wp_image_editors', 'change_graphic_lib' );

function change_graphic_lib($array) {
  return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

Cuando esto ayuda, es porque cambia el módulo de código PHP utilizado para procesar la imagen subida para su uso con WordPress.

Este procesamiento incluye mover la imagen a la base de datos de la biblioteca de medios y generar las diferentes imágenes de tamaños ("thumbnail", "medium", "large") que WordPress siempre quiere tener disponibles para que los temas puedan acceder.

Hace que se utilice el módulo "GD", porque está primero. En algunas configuraciones de servidor, la biblioteca más nueva "Imagick" no funciona bien con otras en ciertos escenarios de imágenes, como dimensiones de píxeles grandes, por lo que forzar el uso de la biblioteca "GD" es una solución.

30 abr 2014 08:19:18
Comentarios

Es mejor crear un pequeño plugin que ponerlo en el functions.php, porque si cambias el tema, pierdes el código. Y estoy seguro de que quieres que esto siga funcionando después de un cambio de tema

Elías Gómez Elías Gómez
15 ene 2018 13:43:10

+1 Esto funcionó para mí cuando me encontré con este problema en una instalación básica de WP 4.9.4 en una cuenta nueva de HostGator. @EliasNS novato aquí; ¿cuál es la forma correcta de hacer un pequeño plugin para esto?

Andrew Janke Andrew Janke
27 feb 2018 03:26:23

@AndrewJanke, podrías usar un plugin https://es.wordpress.org/plugins/pluginception/

Elías Gómez Elías Gómez
27 feb 2018 13:07:33

"Imagick"? ¿No "ImageMagick"?

Peter Mortensen Peter Mortensen
8 jun 2019 16:23:57
3
22

Después de solucionar problemas con @Wyck en el chat, hemos identificado el problema subyacente.

El problema estaba relacionado con mi configuración del servidor que no tenía la cantidad adecuada de memoria asignada a Apache/PHP.

Si alguien tiene este mismo problema, por favor verifique que tenga suficiente memoria (64 MB o más) asignada a Apache/PHP en la configuración de su servidor. También puede agregar esto a su archivo wp-config.php:

define('WP_MEMORY_LIMIT', '64MB');

Si la solución anterior no funciona, lea el artículo ¿Problemas con el cargador de imágenes/medios? para más soluciones.

Intente agregar una por una o todas las siguientes modificaciones de .htaccess al archivo .htaccess en el directorio raíz de su instalación de WordPress.

En serio, pruebe una por una las soluciones a continuación para saber cuál funcionó. No las pegue todas en su archivo .htaccess de inmediato.

Pruebe esta línea:

AddType x-mapp-php5 .php

mod_security podría estar causando problemas. Desactívelo para ver si ese es el problema. Para hacer esto, cree un archivo .htaccess en su directorio wp-admin. Agregue esto:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

Si está utilizando control de acceso basado en autenticación en su servidor web (a menudo conocido como htpasswd, autenticación básica, directorio protegido con contraseña o similar), WordPress no puede manejarlo para Flash Uploader, Cron y XMLRPC. Los archivos relacionados deben excluirse para que funcionen. Tenga en cuenta que esto podría afectar sus consideraciones de seguridad.

# Excluir los scripts de carga de archivos y CRON de WordPress de la autenticación
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

Una nota final: algunos han dicho que si usa una versión inferior de PHP 5.3.X, puede intentar desactivar el Modo Seguro de PHP.

Si está ejecutando WordPress multisitio y recibe errores HTTP o errores internos del servidor relacionados con la carga de imágenes, lea La carga de imágenes en multisitio causa fallo con error HTTP para otras posibles soluciones.

26 jul 2012 21:47:48
Comentarios

ok ... bueno saberlo ... ¿leíste que WordPress intenta asignar hasta 256MB de RAM? por lo que este define('WP_MEMORY_LIMIT', '64MB'); debería ser mayor si es posible.

Damien Damien
27 jul 2012 01:35:17

Si estás usando WP 4.1.1, el AddType x-mapp-php5 .php ya no es una solución viable ya que fuerza a la página a imprimir el código PHP como texto plano

cameronjonesweb cameronjonesweb
27 mar 2015 08:02:27

O agrega esto al archivo de configuración de tus sitios si estás usando nginx: client_max_body_size 128m;

Bent Bent
28 jun 2015 19:00:05
0

Me encontré con el mismo error al intentar subir medios en WordPress. En Chrome, aparece como un error HTTP; en Firefox, el error se ve bastante diferente. La web está llena de historias de personas que han pasado días persiguiendo este error (yo también :-( ). Hay muchas soluciones, pero nadie explica el porqué, al menos no de una manera que sea consistente con los síntomas.

Mi pequeña contribución: noté que el problema está correlacionado con un fallo de segmentación registrado en el archivo de logs de apache2. Eso me preocupa, porque es difícil de diagnosticar.

Reiniciar todo el servidor eliminó todos los síntomas y, de repente, pude subir medios nuevamente en WordPress. Frustrantemente, no tengo ni idea de por qué ocurre esto. El reinicio efectivamente me impidió investigar más, y ahora tendré que esperar (¿semanas? ¿meses?) a que el problema reaparezca. Espero que esto ayude a otros en su búsqueda de la causa de este problema. Mi esposa está feliz, porque ya no puedo pasar noches persiguiendo este problema...

30 may 2014 22:19:02
0

He resuelto este problema cambiando el propietario de root a apache como se muestra a continuación.

chown -R apache:apache /var/www/html/midominio

Luego, cambié los permisos del directorio wp-content/uploads/ a 775.

Después de eso, intenté subir una imagen en la biblioteca de medios. Tuve éxito al cargar la imagen.

29 oct 2013 11:24:01
0

Tuve el mismo problema. Probé varias soluciones, incluyendo cambiar el procesador de imágenes predeterminado de PHP GD a ImageMagick usando el Plugin Force Image Magick.

Esto ayudó con el Error HTTP / error 500, pero los thumbnails dejaron de generarse. Luego desactivé el plugin nuevamente y lo que me ayudó fue esta respuesta en la pregunta Parece que el redimensionamiento de imágenes no funciona bien. Mi PHP_MEMORY_LIMIT estaba configurado en 160MB, que es el máximo absoluto que permite mi proveedor de hosting.

Para subir imágenes, esto resultó en dimensiones máximas posibles de la imagen de alrededor de 6000 x 6000 px al usar PHP GD y generar thumbnails. Por lo tanto, es importante no solo verificar el tamaño del archivo sino también las dimensiones de la imagen. Subir una imagen con dimensiones mayores resultó en un Error HTTP / error 500 incluso con tamaños de archivo pequeños.

29 mar 2018 19:15:49
0

He experimentado este problema muchas veces y lo solucioné incrementando memory_limit = 256M en php.ini O agregando define( 'WP_MEMORY_LIMIT', '256M' ); en el archivo wp-config.php (*Si es necesario, puedes incrementar la memoria a más de 256M) la mayoría de las veces.

Otra solución posible podría ser dar permisos a la carpeta \wp-content\uploads\; comando: chmod -R 0755 wp-content\uploads\.

Espero que también te pueda ayudar.

7 oct 2019 08:00:38