Website WordPress Bị Lỗi Trắng Trang

  • Tuesday 14/04/2020

Nhiều năm về trước, khi mà các webserver vẫn còn hạn chế nhiều cái thì mỗi khi website bị lỗi trong code đều hiển thị đoạn code bị lỗi ngay trên website khiến ai vào cũng thấy. Ở đoạn đó, đối với người quản trị thì nó sẽ giúp bạn biết được file nào bị lỗi, lỗi ở đoạn code nào. Còn đối với các hacker thì họ sẽ khai thác lỗi đó như là một bug để xâm nhập và phá hoại

Đó là lý do tại sao mà hiện nay các nhà cung cấp host và các thiết lập mặc định của các webserver đều thiết lập ẩn đoạn báo lỗi trong code để tăng tính bảo mật, thay vì hiện lỗi thì bây giờ các lỗi code đa phần đều hiển thị với màn hình trắng, hay còn gọi là lỗi trắng trang.

Lỗi trắng trang

Hầu hết lỗi trắng trang đều xuất phát từ code của bạn như gọi một hàm không tồn tại, code sai cú pháp, viết thừa dấu,… nên để khắc phục được lỗi này thì hãy mở file error log lên để biết lỗi phát sinh từ đâu.

File log này thường sẽ có tên dạng là error_log, error.log hoặc đại loại là như vậy và sẽ nằm ở thư mục public_html đối với Shared Hosting, còn đối với server riêng (VPS/Dedicated) thì bạn mở file cấu hình domain đang bị lỗi của bạn ra sẽ thấy dòng khai báo log và cứ tìm theo đường dẫn đó mà xem. Nếu dùng Shared Hosting bạn không thể tìm ra file log thì hãy gửi hỗ trợ đến bộ phận kỹ thuật để họ tìm giúp.

Trong đó, có 2 loại lỗi PHP là:

  • PHP Warning: Cảnh báo với mức độ bình thường, các warning không ảnh hưởng đến việc website bị gián đoạn và mặc định nó sẽ ẩn đi. Nếu bạn thiết lập phần WP_DEBUG trong file wp-config.php thành TRUE thì nó sẽ hiển thị Warning ra ngoài website
  • PHP Fatal Error: Đây là lỗi nghiêm trọng mà PHP không thể tiếp tục chạy được nếu gặp phải, là nguyên nhân dẫn đến lỗi trắng trang.

Các lỗi trong file log sẽ được khai báo theo từng dòng, mỗi dòng là một lần báo lỗi, tức là một lượt truy cập vào mà nó báo lỗi thì nó sẽ hiển thị 1 dòng và có thể lặp lại nhiều lần. Để đọc log, bạn nên đọc từ trên xuống dưới tương ứng với sắp xếp từ lỗi cũ tới lỗi mới hoặc bạn có thể căn cứ vô cái mốc thời gian ở đoạn đầu dòng.

Trong mỗi dòng báo lỗi, bạn sẽ biết được đó là lỗi gì và file nào bị lỗi

Nếu không có file error_log, bạn hãy mở file wp-config.php ra và tìm:

define('WP_DEBUG', false);

Sửa false thành true và save lại.

Lỗi 500

Lỗi 500 là xuất phát từ việc thiết lập của Webserver như sai cú pháp các file cấu hình khiến Webserver không khởi động lại được. Nói chính xác hơn là trình duyệt của bạn không nhận được tín hiệu truyền tải từ Webserver.

Nếu bạn dùng Shared Hosting thì lỗi này thường có 2 nguyên nhân là bạn chèn nội dung file .htaccess sai cú pháp hoặc là CHMOD file .htaccess bị sai. Hãy fix bằng cách xóa nội dung file .htaccess đi và truy cập lại, nếu nó vẫn báo lỗi thì hãy CHMOD file .htaccess về 755, 644 hoặc 744.

Nếu bạn dùng server riêng (VPS, Dedicated) thì hãy mở file log của webserver ra, nó sẽ nằm trong thư mục /var/log/httpd (Apache) hoặc /var/log/nginx (NGINX) để xem file cấu hình nào bị lỗi, thường thì sẽ phát sinh ra trong lúc bạn chỉnh sửa các file cấu hình VirtualHost.