There are a number of reasons why you might get a generic “HTTP error” when uploading images in the WordPress Media Library. The first place to look might be the resource limits in your /etc/php.ini file (memory and execution time, for example):


;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30

; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60

; Maximum input variable nesting level
; http://php.net/max-input-nesting-level
;max_input_nesting_level = 64

; How many GET/POST/COOKIE input variables may be accepted
; max_input_vars = 1000

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M


Some servers might also be running a deprecated version of ImageMagick. You can change the default image editor from ImageMagick to GD by adding the following filter to your theme (or child-theme) functions.php file (props mklusak).


add_filter( 'wp_image_editors', 'change_graphic_lib' );

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