Lỗi 500 Internal Server Error – Nguyên nhân và cách sửa
Lỗi 500 Internal Server Error là gì? Tìm hiểu các nguyên nhân phổ biến và cách khắc phục lỗi 500 trên WordPress và các website khác.
Lỗi 500 Internal Server Error là một trong những lỗi website phổ biến và đáng sợ nhất. Trang trắng hoặc thông báo lỗi 500 xuất hiện mà không có giải thích rõ ràng. Bài viết này giúp bạn xác định nguyên nhân và khắc phục nhanh chóng.
Lỗi 500 là gì?
HTTP 500 Internal Server Error là mã lỗi chung cho biết server gặp sự cố không xác định khi xử lý request. Khác với lỗi 404 (không tìm thấy trang), lỗi 500 xảy ra ở phía server, không phải do URL sai.
Nguyên nhân phổ biến của lỗi 500
1. File .htaccess bị lỗi
Đây là nguyên nhân phổ biến nhất trên WordPress. File .htaccess bị hỏng hoặc có cú pháp sai sẽ gây lỗi 500.
Cách kiểm tra: Đổi tên file .htaccess thành .htaccess_old và thử lại. Nếu website hoạt động, vấn đề là .htaccess.
Cách sửa: Tạo file .htaccess mới với nội dung mặc định của WordPress:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
2. PHP memory limit quá thấp
WordPress cần đủ PHP memory để hoạt động. Nếu memory limit quá thấp, lỗi 500 có thể xảy ra.
Cách sửa: Thêm vào wp-config.php:
define('WP_MEMORY_LIMIT', '256M');
Hoặc thêm vào .htaccess:
php_value memory_limit 256M
3. Plugin hoặc theme bị lỗi
Plugin hoặc theme không tương thích có thể gây lỗi 500.
Cách kiểm tra: Tắt tất cả plugin bằng cách đổi tên thư mục /wp-content/plugins/ thành /wp-content/plugins_old/. Nếu website hoạt động, bật lại từng plugin để tìm plugin gây lỗi.
4. File permissions sai
File và thư mục WordPress cần có permissions đúng:
- Thư mục: 755
- File: 644
- wp-config.php: 600
5. PHP version không tương thích
Plugin hoặc theme cũ có thể không tương thích với PHP version mới. Kiểm tra PHP error log để xác định.
Cách xem error log để tìm nguyên nhân
Error log chứa thông tin chi tiết về lỗi:
- Trong cPanel: Error Logs
- Trên server: /var/log/apache2/error.log hoặc /var/log/nginx/error.log
- WordPress debug: Thêm vào wp-config.php:
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true);
Checklist xử lý lỗi 500
- Kiểm tra error log để tìm nguyên nhân cụ thể
- Kiểm tra và sửa file .htaccess
- Tăng PHP memory limit
- Tắt plugin để tìm plugin gây lỗi
- Kiểm tra file permissions
- Kiểm tra PHP version compatibility
Kết luận
Lỗi 500 thường có thể khắc phục bằng cách kiểm tra error log và thực hiện các bước debug có hệ thống. Nguyên nhân phổ biến nhất là .htaccess bị lỗi hoặc plugin xung đột.
Nếu không tự xử lý được, đội ngũ hỗ trợ VMST Host sẵn sàng giúp đỡ 24/7. Liên hệ hỗ trợ.