Cách xử lý lỗi HTTP Error khi upload ảnh trong WordPress

Khi upload ảnh trong WordPress bạn gặp phải lỗi HTTP Error như bên dưới. 

lỗi http error khi upload ảnh trong wordpress 1

Nhìn lỗi như thế này cũng hơi rối trí phải không?

Chúng ta chả biết lỗi thực sự là gì? Cũng chả có tí chút gợi ý cách fix nào?

Trong bài viết ngày hôm nay mình tổng hợp những cách xử lý HTTP Error khi upload ảnh trong WordPress. Đây là những cách phổ biến mà mọi người chia sẻ trên mạng.

Bạn có thể từng giải pháp xem có ăn thua gì không? Hoặc nếu bạn có cách giải quyết nào hay hơn thì chia sẻ thêm ở bình luận bên dưới.

Bây chúng ta xắn tay vào giải quyết lỗi HTTP Error.

1. Chắc chắn lỗi HTTP Error chỉ là tạm thời

Lỗi HTTP Error thỉnh thoảng có thể do tài nguyên trên host quá thấp. Do vậy bạn có thể đợi khoảng vài phút sau đó upload ảnh xem có được không.

​2. Giảm kích thước ảnh

Lỗi này cũng có thể kích thước ảnh quá lớn. Trước kia một độc giả trên blog của mình có chia sẻ upload ảnh có kích thước lớn trên 2000 px thì bị lỗi. Nhưng khi resize thì upload bình thường.

3. ​Thay đổi định dạng ảnh

​Nhiều trường hợp định dạng ảnh cũng là thủ phạm gây ra lỗi. Bạn có thể thử chuyển JPG sang PNG hoặc ngược lại thử xem sao. 

​4. Tăng giới hạn bộ nhớ

Một nguyên nhân có khả năng khác của lỗi này là do thiếu bộ nhớ cho WordPress hoạt động bình thường.

Để tăng bộ nhớ bạn có thể thêm dòng code sau vào wp-config.php: (Tham khảo thêm bài tăng bộ nhớ)

​define( 'WP_MEMORY_LIMIT', '256M' );

Code trên tăng giới hạn bộ nhớ lên 256MB, một dung lượng đủ cho hầu hết các trường hợp. 

5. ​Thay đổi thư viện Image Editor mà WordPress sử dụng

WordPress sử dụng hai module để xử lý ảnh. Đó là GD Library và Imagick. WordPress sẽ chọn một trong hai thư viện tùy theo cái nào có sẵn.

Tuy nhiên, thư viện Imagick thường gặp phải lỗi HTTP Error khi upload ảnh.

Do vậy để xử lý lỗi này, bạn có thể biến GD Library thành image editor mặc định.

Cách làm như sau:

Thêm dòng code sau vào funtions.php hoặc plugin cụ thể trang:

function wpb_image_editor_default_to_gd( $editors ) { $gd_editor = 'WP_Image_Editor_GD'; $editors = array_diff( $editors, array( $gd_editor ) ); array_unshift( $editors, $gd_editor ); return $editors; } add_filter( 'wp_image_editors', 'wpb_image_editor_default_to_gd' );

Sau khi thêm code, bạn thử upload lại ảnh xem có được không. 

4. Sử dụng cách chỉnh sửa file .htaccess

Nhiều dịch vụ shared host cho phép thư viện Imagick xử lý đa luồng trong quá trình xử lý ảnh. Điều này giúp tốc độ xử lý ảnh nhanh hơn.

Nhưng thỉnh thoảng chính điều này lại dẫn tới lỗi HTTP Error khi upload ảnh.

Cách xử lý đơn giản là thêm dòng code sau vào file .htaccess: ​

SetEnv MAGICK_THREAD_LIMIT 1

Code trên giới hạn Imagick sử dụng chỉ một luồng. 

Ngoài ra bạn có thể phương pháp truyền thống như tắt tất cả plugin rồi kích hoạt từng cái để xem vấn đề có phải do một plugin nào gây ra hay không? Thấy nhiều người chia sẻ plugin nén ảnh ​EWWW Image Optimizer có thể là thủ phạm. 

​Nếu những cách trên không xử lý được lỗi theo mình cách tốt nhất là bạn nên nhờ hosting hỗ trợ giúp.