Khi truy cập và trang web bằng máy tính hay điện thoại, thỉnh thoảng bạn sẽ gặp phải lỗi HTTP ERROR 500. Vậy HTTP ERROR 500 là gì và làm thế nào để sửa lỗi này. Vietnix sẽ giới thiệu và hướng dẫn bạn ngay trong bài viết này!
HTTP ERROR 500 là lỗi gì?
Lỗi HTTP ERROR 500 nó chỉ là một lỗi tạm thời trên website và có thể là bộ nhớ cache trình duyệt của bạn gặp sự cố. Vì vậy để khắc phục lỗi HTTP ERROR 500 bạn chỉ cần thao tác tải lại trang web hoặc bằng nút refresh (F5) trên trình duyệt trên bàn phím máy tính của bạn là được.
Tùy vào thiết kế của từng website mà lỗi này được hiển thị ở nhiều dạng như:
- 500 Internal Server Error.
- HTTP 500.
- Internal Server Error.
- Temporary Error (500).
- Internal Server Error.
- HTTP 500 Internal Error.
- 500 Error.
- HTTP Error 500.
- 500. That’s an error.
>> Xem thêm: HTTP là gì? Phân biệt giữa HTTP và HTTPS
Những lỗi HTTP ERROR 500 thường gặp
Tuy nhiên, nếu máy chủ đã cài đặt Microsoft Internet Information Services (Microsoft IIS), mã lỗi sẽ được chỉ định. Vị trí thập phân cho biết nguyên nhân của lỗi một cách chi tiết hơn:
- 500.0: Đã xảy ra lỗi mô-đun hoặc ISAPI.
- 500.11: Ứng dụng đang tắt trên server web.
- 500.12: Ứng dụng đang bận khởi động lại trên server web.
- 500.13: Server web quá tải.
- 500.15: Request trực tiếp đối với global.asax không được phép.
- 500.19: Dữ liệu cấu hình không hợp lệ.
- 500.21: Module không được nhận dạng.
- 500.22: Cấu hình ASP.NET http Modules không áp dụng trong Managed Pipeline mode.
- 500.23: Cấu hình ASP.NET http Handlers không áp dụng trong Managed Pipeline mode. 500.24: Cấu hình mạo danh ASP.NET không áp dụng trong Managed Pipeline mode.
- 500.50: Đã xảy ra lỗi rewrite trong quá trình xử lý thông báo RQ_BEGIN_REQUEST. Đã xảy ra lỗi cấu hình hoặc thực thi quy tắc gửi đến.
- 500.51: Đã xảy ra lỗi rewrite trong quá trình xử lý thông báo GL_PRE_BEGIN_REQUEST. Đã xảy ra lỗi cấu hình chung hoặc thực thi quy tắc chung.
- 500.52: Đã xảy ra lỗi rewrite trong quá trình xử lý thông báo RQ_SEND_RESPONSE. Đã xảy ra thực thi quy tắc outbound.
- 500.53: Đã xảy ra lỗi rewrite trong quá trình xử lý thông báo RQ_RELEASE_REQUEST_STATE. Đã xảy ra lỗi thực thi quy tắc outbound. Quy tắc được định cấu hình để được thực thi trước khi output user cache được cập nhật.
- 500.100: Lỗi ASP nội bộ.
Nguyên nhân gây ra lỗi HTTP ERROR 500
Lỗi HTTP ERROR 500 xảy ra thường do một số nguyên nhân dưới đây:
- Permission Error: Quyền của các file và thư mục chính không được đặt chính xác.
- PHP timeout: Scripts cố gắng truy cập tài nguyên bên ngoài và vượt quá thời gian chờ.
- Mã trong .htaccess không chính xác: Cấu trúc trong file .htaccess có thể sai.
- Lỗi cú pháp hoặc mã trong scripts CGI / Perl: Trong một số trường hợp, script không chính xác. Đặc biệt, các đường dẫn có thể bị sai.
- Giới hạn bộ nhớ PHP: Một tiến trình vượt quá bộ nhớ và do đó không thể được thực thi một cách chính xác.
Trong trường hợp các trang web WordPress hoặc các hệ thống quản lý nội dung khác, việc cài đặt một tiện ích mở rộng bị lỗi hoặc không tương thích cũng có thể là nguyên nhân. Các plugin và theme, đặc biệt là từ các nhà cung cấp bên thứ ba có thể ảnh hưởng đến toàn bộ trang web.
>> Xem thêm: Lỗi 404 Not Found là gì? Nguyễn nhân và cách khắc phục
Hướng dẫn cách sửa lỗi HTTP ERROR 500 từ phía chủ website
Xem lại các log file
Nếu có lỗi Internal Server Error, bước đầu tiên là xem các log file.
Đối với Server Linux, các thông báo lỗi sẽ được tìm thấy tại /var/log/httpd/error_log
. Bạn nên tải lại trang web để tạo lại mã lỗi HTTP ERROR 500 và quan sát cách log file đang được tạo. Điều này sẽ giúp bạn tìm ra nguồn gốc của lỗi khá nhanh chóng.
Hãy xem xét những thay đổi nào đã được thực hiện trước đó không lâu. Trong nhiều trường hợp, các plugin được lập trình không chính xác hoặc không tương thích là nguyên nhân gây ra thông báo lỗi.
Lỗi cũng có thể xảy ra nếu bạn không phân quyền một cách chính xác cho các file quan trọng. Nói chung, có 3 loại quyền:
- Đọc (r).
- Viết (w).
- Thực thi (x).
Các quyền này có thể được chỉ định cho 3 loại người dùng khác nhau:
- Chủ sở hữu của file.
- Nhóm người dùng.
- Tất cả những người khác.
Các quyền được chỉ định bằng các chữ viết tắt r
, w
và x
. Hoặc bằng các giá trị số tương ứng: 4 để đọc, 2 để ghi và 1 để thực thi. Chúng được thêm vào cho từng loại người dùng và được chỉ định lần lượt: rwxr-xr-x (rwx cho chủ sở hữu, r-x cho nhóm và r-x cho tất cả những người khác) hoặc 755. Cấu hình (755) phải là cài đặt mặc định. Nếu việc gán quyền được đặt khác, có thể xảy ra lỗi. Bạn có thể thay đổi điều này bằng một lệnh:
chmod 755 filename
Nếu thay đổi này không giải quyết được sự cố, bạn cũng có thể giải phóng tất cả các quyền cho từng nhóm cho mục đích kiểm tra:
chmod 777 filename
Nhưng chỉ sử dụng cài đặt này để xác định vấn đề. Khi đó mọi người dùng nào cũng được phép viết lại file. Điều này có thể hiểu là một rủi ro bảo mật.
Tiếp theo, hãy kiểm tra (nếu việc phân phối quyền không tạo ra thông báo lỗi) xem các scripts của bạn có đang chạy chính xác hay không. Đôi khi lỗi xảy ra do các file script đã được di chuyển, đổi tên hoặc xóa. Ngoài ra, hãy kiểm tra .htaccess file
: ngay cả một lỗi cú pháp cũng có thể gây ra lỗi server nội bộ.
Kiểm tra lại .htaccess file
Một lỗi phổ biến không kém là định dạng .htaccess file không chính xác. Mã này phải được tạo ở định dạng ASCII hoặc ANSI, không phải bằng Unicode. Do đó, hãy ghi file trong một trình soạn thảo văn bản như Notepad, Notepad++ hoặc Sublime Text. Chứ không phải trong một chương trình xử lý văn bản như Microsoft Word.
Để kiểm tra xem file .htaccess có phải là nguyên nhân gây ra lỗi hay không, bạn có thể tạm thời đổi tên file và tải lại trang web. Server sẽ không truy cập .htaccess khi tải trang web. Nếu không còn nhận được thông báo lỗi, bạn có thể sửa file hoặc tạo file mới.
Thời gian chờ cũng có thể dẫn đến thông báo lỗi. Trong trường hợp này, đó không phải là lỗi server web mà là do kết nối bị gián đoạn với nguồn bên ngoài. Các PHP scripts trên trang web của bạn có được thiết lập để truy cập tài nguyên từ các server khác không? Có lẽ tài nguyên không còn hoặc giao tiếp server bị gián đoạn vì một số lý do khác.
Tất nhiên, một cách để loại bỏ nguồn lỗi này là không làm cho trang web của bạn phụ thuộc vào các tài nguyên bên ngoài. Nếu không được, bạn có thể tăng giới hạn thời gian cho script của mình. Nó cũng có ý nghĩa khi triển khai xử lý lỗi hiệu quả để các lỗi trong PHP script có thể được phát hiện chính xác hơn.
Kiểm tra bộ nhớ RAM
Có thể là do bộ nhớ bị quá tải? Giới hạn bộ nhớ xác định lượng bộ nhớ mà một tiến trình có thể sử dụng. Nếu cần nhiều RAM hơn khả dụng, điều này có thể dẫn đến lỗi server nội bộ. Bạn có thể tăng giới hạn như một giải pháp tạm thời. Để thực hiện việc này, hãy thêm một command như sau vào php.ini
:
memory_limit = 512M
Trong ví dụ này, bạn sẽ đặt bộ nhớ được cung cấp thành 512MB. Tuy nhiên, lưu ý rằng nhà cung cấp web hosting của bạn sẽ chỉ cho phép bạn một giới hạn PHP script nhất định trong gói mà bạn đã đặt. Nếu bạn nhập giá trị cao hơn, web server sẽ bỏ qua giá trị đó.
Nâng giới hạn chỉ là một giải pháp tạm thời: sau khi trang web của bạn hoạt động trở lại, bạn nên cân nhắc lựa chọn RAM cao hơn. Có khả năng cao là lỗi có thể được tìm thấy trong mã trang web của bạn.
Nếu không có phương pháp nào trong số này cung cấp cho bạn giải pháp, bạn nên liên hệ với nhà cung cấp dịch vụ lưu trữ của mình. Trước khi thực hiện, bạn có thể kiểm tra trạng thái của server.
Nếu bạn đang sử dụng hosting, server tại Vietnix. Bạn có thể liên hệ ngay qua số hotline 07 088 44444 để được hỗ trợ ngay lập tức!
Vietnix là nhà cung cấp hosting tốc độ cao uy tín hàng đầu tại Việt Nam, cung cấp nhiều gói hosting có cấu hình đa dạng như Hosting Giá Rẻ, Hosting NVMe, Business Hosting, SEO Hosting và WordPress Hosting. Sử dụng hosting của Vietnix, bạn sẽ tận hưởng tốc độ truy cập nhanh chóng và ổn định, đảm bảo website tải nhanh mà không gặp phải lỗi HTTP ERROR 500.
Ngoài ra, với hạ tầng mạnh mẽ và các biện pháp bảo mật hàng đầu, hosting Vietnix giúp website của bạn hoạt động một cách liên tục, an toàn. Với dịch vụ hosting tốc độ cao, ổn định và chất lượng của Vietnix, bạn có thể tránh gặp phải lỗi HTTP ERROR 500, đảm bảo trải nghiệm tốt nhất cho người dùng truy cập website của bạn.
Video hướng dẫn sửa lỗi 500 Internal Server Error:
>> Xem thêm: Lỗi 503 Service Unavailable là gì? Nguyên nhân và các cách sửa lỗi 503
Cách khắc phục lỗi HTTP ERROR 500 từ phía người dùng
Tải lại trang
Bởi vì lỗi HTTP ERROR 500 là một lỗi tạm thời trên website. Vì vậy để sửa lỗi HTTP ERROR 500 bạn chỉ cần thao tác tải lại trang web bằng cách tải lại trang web hoặc nhấn nút “refresh” trên bàn phím máy tính của bạn là sửa được.
Xóa bộ nhớ trình duyệt
Cách đơn giản hơn để có thể khắc phục lỗi HTTP ERROR 500 là bạn có thể xóa đi bộ nhớ trên trình duyệt (cache) đang truy cập website đó.
Xóa cookies trên trình duyệt
Ngoài những cách trên, bạn có thể xóa đi cookies trên trình duyệt và sau đó khởi động lại trình duyệt là đã có thể khắc phục được lỗi HTTP ERROR 500.
>> Xem thêm: Hướng dẫn cách sửa lỗi Server error in ‘/’ application
Lời kết
Vietnix vừa chia sẻ cách khắc phục lỗi HTTP 500, có nhiều nguyên nhân dẫn đến lỗi này, do đó bạn nên kiểm tra kỹ các file hệ thống để tránh bị lỗi file, chúc bạn khắc phục lỗi thành công!