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 .
add_filter( 'wp_image_editors', 'select_wp_image_editors' ); function select_wp_image_editors( $editors ) { return array( 'WP_Image_Editor_GD' ); }
As an alternative to creating a WordPress filter, the WPSSO Tune Image Editors add-on can also be used to easily select an image editor preference from its SSO > Image Editors settings page.