Hướng dẫn cách xử lý lỗi HTTP Error khi upload ảnh WordPress

Trong WordPress, HTTP Error là mã lỗi thường gặp trong quá trình upload file. Thông thường, lỗi HTTP xảy ra khi bạn muốn thêm ảnh và file khác vào media library.

Theo kinh nghiệm của chúng tôi, lỗi HTTP Error thường xuất phát từ hai nguyên nhân chủ yếu:

  • Thứ nhất là lỗi người dùng (phiên đăng nhập của bạn, các đoạn code trong tên dữ liệu đang gây ảnh hưởng, v.v.).
  • Thứ hai là sự cố hoặc cài đặt trên Máy chủ WordPress (sự cố máy chủ, danh sách bộ nhớ, plugin của bên thứ ba, tài nguyên lưu trữ chia sẻ lưu trữ, v.v.).

Bài hướng dẫn này sẽ giúp bạn sửa lỗi HTTP theo nhiều cách khác nhau.
Nào hãy bắt đầu ngay thôi!

1. Refresh the Page (làm mới trang website)

Điều đầu tiên bạn nên làm khi gặp lỗi HTTP Error là chỉ cần làm mới (F5) trang trong trình duyệt của bạn. Thực sự đây là cách sửa lỗi phổ biến nhất mà chúng tôi đã áp dụng. Đây là lý do tại sao:

  • Vì bất kỳ lý do gì, trình duyệt của bạn có thể tạm thời bị mất kết nối với WordPress và quá trình đơn giản là không hoàn thành. Điều này có thể là do ISP của bạn, một trục trặc tạm thời mất kết nối với máy chủ WordPress của bạn, v.v. Nếu bạn làm mới trang và thử tải lên lại, lỗi đôi khi sẽ tự khắc phục.
  • Thứ hai, chúng tôi cũng đã thấy rằng đôi khi sau khi làm mới trang hoặc quay lại trình chỉnh sửa WordPress từ một tab khác, có thể phiên đăng nhập WordPress của bạn đã hết hạn. Bạn sẽ thấy thông báo sau:

Vì vậy, bạn đăng nhập lại, F5 lại trang website. Sau đó, tải files lên phương tiện truyền thông sẽ hoạt động trở lại.

2. Điều chỉnh lại kích thước hình ảnh

Khi gặp lỗi HTTP, bạn có thể cần chỉnh sửa tệp hình ảnh của mình, điều này có thể đòi hỏi phải giảm kích thước tệp (KB hoặc MB) hoặc giảm chiều rộng/chiều cao (pixel).
Một nguyên tắc nữa tốt nhất là giữ cho kích thước hình ảnh cuối cùng của bạn dưới 100 KB và không quá gấp đôi kích thước chiều rộng trong nội dung trang web của bạn.

3. Đổi tên tập tin hình ảnh

Thật không may, WordPress không cho phép bạn đổi tên tệp của tệp hình ảnh đã tải lên, vì vậy bạn sẽ cần đổi tên tệp từ máy tính và tải lên lại.
Khi bạn tải lên hình ảnh đã tồn tại, bạn nên thêm -1 hoặc -2 vào cuối (ví dụ: image-file-1.png, image-file-2.png). Đảm bảo thêm dấu gạch ngang nếu không Google sẽ nhận định nó dưới dạng một từ và nó có thể làm ảnh hưởng đến SEO của website.
Ngoài ra, hãy tránh tải lên một hình ảnh với tên tệp có chứa các ký tự đặc biệt. Điều này bao gồm các ký hiệu và ký tự ngôn ngữ quốc tế như dấu nháy đơn. Dấu gạch ngang (-) là chuẩn nhất.

4. Tạm thời Deactive (hủy kích hoạt) Plugins và Themes

Nếu lỗi WordPress HTTP error xuất hiện sau khi bạn cài đặt plugin nào đó thì bạn cứ vô hiệu plugin đó. Nhiều plugin có tính năng tối ưu hình ảnh cũng có thể gây ra tình trạng này. Vì vậy hãy thử Deactive các plugin đó tạm thời và thử upload ảnh lại. Nếu lỗi HTTP không còn, bạn có thể thử dùng plugin khác thay thế.

Nếu lỗi HTTP error xuất hiện khi bạn cập nhật hoặc cài WordPress theme, vậy lỗi liên quan đến theme. Cách xử lý trước tiên là tạo backup của toàn website rồi chuyển về theme mặc định (như Twenty Seventeen).

Nếu mọi thứ ổn với theme mặc định, bạn hãy thử liên hệ với lập trình theme, cung cấp họ thông tin chi tiết. Trong trường hợp này, lỗi HTTP error là do không tương thích giữa theme và plugin hay là do chính bản thân theme đó.

5. Tăng giới hạn bộ nhớ PHP

Một nguyên nhân khác gây ra lỗi HTTP error là máy chủ hosting của bạn thiếu bộ nhớ khả dụng để quá trình tải ảnh lên hoàn tất. Để sửa lỗi, bạn cần tăng dung lượng bộ nhớ mà PHP có thể sử dụng. Nên dùng 256 MB hoặc lớn hơn.
Giới hạn bộ nhớ mặc định dịch vụ hosting WordPress tại Mắt Bão gói thấp nhất hỗ trợ là 512 MB. Nếu bạn lưu trữ trang web WordPress của mình tại Mắt Bão, bạn có thể yên tâm về vấn đề này.

  • Tăng giới hạn bộ nhớ PHP với wp-config.php: Bạn có thể tăng giới hạn bộ nhớ PHP bằng cách thêm đoạn mã sau vào tệp wp-config.php. Lưu ý: điều này có thể được ghi đè bởi quy tắc cấp máy chủ tại chỗ bởi máy chủ WordPress của bạn.
    Thêm đoạn code define(‘WP_MEMORY_LIMIT’, ’256 M’) vào file wp-config.php.
  • Tăng giới hạn bộ nhớ PHP trong cPanel: Nếu máy chủ của bạn đang sử dụng cPanel, bạn có thể tăng giới hạn bộ nhớ PHP tại MultiPHP INI Editor.

6. Kiểm tra phân quyền tải lên thư mục

Thông thường khi có lỗi chặn quyền truy cập thư mục, bạn sẽ nhận được một thông báo trong WordPress về việc không thể ghi vào thư mục. Thư mục chính bạn quan tâm là thư mục /wp-content/uploads, vì đây là nơi các tệp được lưu trữ khi tải lên qua thư viện phương tiện.
Theo Codex WordPress, tất cả các thư mục nên là 755 hoặc 750. Vì vậy, hãy kiểm tra lại thư mục /wp-content/uploads và phân quyền cho đúng.

7. Kiểm tra phiên bản PHP

Chúng tôi luôn khuyên bạn nên sử dụng các phiên bản PHP mới nhất vì nó vừa bảo mật và hiệu suất tốt hơn, bao gồm các sửa lỗi và các chức năng cần được loại bỏ.
WordPress chính thức có phiên bản mới nhất là PHP 7.3.x. Nếu không, bạn phải đảm bảo phiên bản PHP trên website phải tối thiểu từ 5.6.x trở lên.
Tại Mắt Bão, bạn có thể dễ dàng thay đổi thành phiên bản PHP chỉ bằng một cú nhấp chuột.

  • Nếu bạn sử dụng Plesk WordPress hosting, bạn truy cập vào Hosting Settings hoặc PHP Settings và chọn phiên bản PHP muốn thay đổi -> OK để lưu lại.

  • Nếu bạn sử dụng cPanel WordPress hosting, bạn có thể thay đổi phiên bản PHP bằng cách truy cập MultiPHP Manager.

8. Đặt GD Library làm Image Editor mặc định


Bạn có biết WordPress có 2 trình image editors? Đúng vậy, WordPress sử dụng Imagick hoặc GD Library để xử lý hình ảnh. Cả 2 đều rất tốt, nhưng Imagick có thể gây ra tình trạng thiếu hụt ram nên gây ra lỗi HTTP error.
Để giải quyết vấn đề này, bạn cần đặt GD Library làm editor mặc định. Làm thế nào ư? Chỉ cần thêm dòng sau vào file functions.php của theme của bạn


function hs_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’, ‘hs_image_editor_default_to_gd’ );<code></code>

Lưu lại thay đổi, sau đó thử upload ảnh lại lần nữa. Nếu HTTP error vẫn hiện ra, trả lại code như ban đầu và thử giải pháp khác.

9. Vô hiệu hóa mod_security

Mod_security là một tường lửa sử dụng mã nguồn mở đôi khi có thể gây ra lỗi HTTP error.

Bạn có thể tắt mod_security bằng cách thêm đoạn mã sau vào đầu file .htaccess của bạn.

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

Nếu bạn đang sử dụng cPanel, bạn cũng có thể vô hiệu hóa nó bằng cách nhấp vào vào ModSecurity.

Sau đó, bật/tắt ModSecurity.

Một điều quan trọng nữa là bạn nên thử xóa cache từ máy của bạn sau các cách xử lý lỗi, tham khảo hướng dẫn tại đây

Chắc hẳn bạn sẽ không hài lòng khi gặp lỗi HTTP trong quá trình tải ảnh lên WordPress? Nhưng chúng tôi tin là nếu bạn thử một trong các cách trên, bạn sẽ sửa được lỗi này mà không phải mất quá nhiều thời gian.

Nếu đã thực hiện các cách trên mà vẫn chưa khắc phục được lỗi, bạn có thể liên hệ với đội ngũ kĩ thuật Hosting/Máy chủ để được hỗ trợ kiểm tra.
Khi sử dụng hosting tại Mắt Bão, với đội ngũ hỗ trợ kĩ thuật 24/7, bạn sẽ được hỗ trợ chính xác và nhanh chóng.

Hi vọng bài viết này sẽ hữu ích với các bạn!

Tagged: