¿Cómo corregir un error HTTP al cargar imágenes?

25

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

Cuando inicio sesión en el panel y agrego una nueva publicación. Luego, intente cargar una imagen para establecerla como imagen destacada, aparece un cuadro rojo con el mensaje "Error HTTP".

He leído sobre personas que dicen no usar el programa de carga flash y simplemente usar el programa de carga del navegador, pero cuando lo intento, solo obtengo un 500 Error interno del servidor.

He intentado agregar AddType x-mapp-php5 .php en la parte superior de mi archivo .htaccess, sin suerte en el cambio.

Deshabilitar TODOS los complementos no tuvo efecto. Probé una instalación nueva. Sin suerte.

Actualización 10/17/2016 - Si está utilizando funciones o capacidades personalizadas, intente utilizar una función / capacidades nativas y vuelva a intentarlo.

Aspectos a considerar al revisar:

  • propiedad del archivo
  • Permisos de archivos
  • configuración .htaccess
  • PHP versión 7+
  • WordPress versión actual

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

    
pregunta Michael Ecklund 26.07.2012 - 19:05

5 respuestas

21

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

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

Si alguien tiene el mismo problema, intente verificar que tiene suficiente memoria de servidor (64 MB) asignada a Apache / PHP en sus ajustes de configuración del 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 este artículo ( ¿Problemas con Image / Media Uploader? ) para solucionar problemas.

intente agregar uno por uno o todos los siguientes ajustes .htaccess al archivo .htaccess en el directorio raíz de su instalación de WordPress.

En serio, prueba una de cada una de las soluciones a continuación para que sepas cuál hizo el truco. No solo pegue todo en su archivo .htaccess inmediatamente.

Prueba esta línea:

AddType x-mapp-php5 .php

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

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

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

# Exclude the file upload and WP CRON scripts from authentication
<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 utilizas una versión menor de PHP 5.3.X puedes intentar deshabilitar el Modo seguro de PHP.

Si está ejecutando WordPress en varios sitios y está recibiendo errores HTTP o internos del servidor, relacionados con la carga de imágenes, lea Cargar imágenes a sitios múltiples causa error de HTTP para otras posibles soluciones e ideas de solución de problemas.

    
respondido por el Michael Ecklund 26.07.2012 - 20:47
23

Puse 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 usado para procesar la imagen cargada para su uso con Wordpress.
Este procesamiento incluye mover la imagen a la base de datos de la Biblioteca de medios y generar las imágenes de diferentes tamaños ("miniatura", "mediana", "grande") que Wordpress siempre quiere que estén disponibles para que los Temas puedan acceder.

Hace que se use el módulo "GD", porque es el primero. En algunas configuraciones de servidor, la nueva biblioteca "Imagick" no se está reproduciendo bien con otras para ciertos escenarios de imágenes, como las grandes dimensiones de píxeles, por lo que obligar a usar la biblioteca "GD" es una solución.

    
respondido por el Allen 30.04.2014 - 07:19
4

Me encontré con el mismo error al intentar cargar medios en wordpress. En Chrome, aparece como http: error; En Firefox, el error se ve muy diferente. La web es una historia completa de personas que han pasado días persiguiendo el error (también yo :-(). Las soluciones abundan, pero nadie explica por qué, al menos no de una manera que sea compatible con los síntomas.

Mi valiosa contribución al tuppence: noté que el problema se correlaciona con una falla de segmentación señalada en el archivo de registro de apache2. Eso me molesta, porque es difícil de diagnosticar.

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

    
respondido por el Stef Joosten 30.05.2014 - 21:19
1

Resolví este problema cambiando mi propietario de raíz a apache como se muestra a continuación.

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

y luego he cambiado el permiso de wp-content / uploads / 775

después de eso, he intentado cargar la imagen en el medio. Tuve éxito al subir la imagen.

    
respondido por el imran 29.10.2013 - 10:24
0

Tuve el mismo problema. Probé varios arreglos, incluido el cambio del procesador de imágenes predeterminado de PHP GD a ImageMagick usando el Force Image Magick Plugin

Esto ayudó con el error HTTP / el error 500, pero ya no se generaban las miniaturas. Luego volví a desactivar el complemento y lo que luego me ayudó fue esta responder sobre la pregunta Parece que el tamaño de la imagen no funciona bien . Mi PHP_MEMORY_LIMIT se estableció en 160MB , que es el máximo absoluto que permite mi proveedor.

Para cargar imágenes, esto resultó en las dimensiones máximas posibles de la imagen de alrededor de 6000 x 6000 px cuando se usa PHP GD y se generan miniaturas. Por lo tanto, es importante no solo comprobar el tamaño del archivo, sino también las dimensiones de la imagen. Al cargar una imagen con dimensiones más altas, se produjo un error HTTP / error 500 incluso con tamaños de archivo pequeños.

    
respondido por el intagli 29.03.2018 - 18:15

Lea otras preguntas en las etiquetas