Cách sửa lỗi màn hình trắng trong WordPress

Lỗi màn hình trắng (white screen) là một trong những lỗi WordPress phổ biến nhất. Đây là lỗi cực kỳ khó chịu vì màn hình trắng không có bất kỳ thông báo lỗi gì thì có trời mà biết để xử lý.

Tuy nhiên đôi khi bạn sẽ gặp trường hợp có vài trang bị lỗi và các trang khác thì vẫn truy cập được bình thường.

Ví dụ: khi bạn truy cập trang quản trị admin thì thấy lỗi màn hình trắng nhưng truy cập trang chủ thì vẫn hoàn toàn bình thường. Hoặc có trường hợp lỗi này chỉ xuất hiện ở 1 bài viết cụ thể nào đó, còn những bài viết khác thì vẫn OK.

Trong bài viết này, mình sẽ hướng dẫn bạn cách sửa lỗi màn hình trắng trong WordPress bằng nhiều cách khác nhau.

Lưu ý: Trước khi thực hiện bất kỳ thay đổi nào đối với website của bạn, hãy backup lại cho chắc nhé (vì nếu có lỗi gì thì còn restore lại được).

Nguyên nhân gây lỗi màn hình trắng trong WordPress

Đa phần cứ mỗi lần lỗi màn hình trắng xuất hiện nghĩa là đoạn script nào đó trên website của bạn đã vượt quá giới hạn bộ nhớ cho phép (còn gọi là memory limit).

Máy chủ sẽ hủy những script nào không phản hồi hoặc bị hết thời gian thực thi. Đó là nguyên nhân bạn sẽ thấy màn hình trắng tinh mà không có bất kỳ thông báo lỗi nào.

Tuy nhiên có lúc bạn sẽ thấy lỗi hiện ra như hình sau:

Lỗi này cũng có thể xảy ra do các theme hoặc plugin trên website của bạn bị lỗi. Hoặc cũng có thể là do hosting bị lỗi.

Tóm lại có khá nhiều nguyên nhân dẫn đến lỗi màn hình trắng nên bạn cần phải thử từng cách xem cách nào OK.

Nếu 1 website bị lỗi này thì những website khác trên cùng hosting có lỗi luôn không?

Điều này bạn sẽ tự kiểm tra để khoanh vùng nguyên nhân. Nếu bạn cài đặt nhiều website WordPress trên cùng 1 hosting thì hãy thử truy cập các website khác coi có bị lỗi không.

Nếu các website khác cũng lỗi luôn thì khả năng là do lỗi trên hosting. Vậy thì bạn chỉ cần chat hoặc ticket cho bộ phận kỹ thuật của nhà cung cấp hosting để họ kiểm tra thôi.

Quá đơn giản luôn.

Còn trường hợp các website trên cùng hosting không lỗi thì bạn cũng biết được đây là lỗi nội bộ của chính website đó rồi.

Sửa lỗi màn hình trắng bằng tính năng Recovery Mode trong WordPress

Nếu theme hoặc plugin nào đó trên website gây ra lỗi màn hình trắng thì WordPress có cơ chế để xử lý.

Lưu ý là bạn đang dùng phiên bản WordPress mới nhất nhé hoặc ít nhất cũng phải phiên bản 5.2 trở lên. Nếu phiên bản cũ quá thì mình cũng không dám chắc.

Lúc này thì thay vì hiển thị màn hình trắng thì WordPress sẽ thông báo 1 đoạn thông báo lỗi như hình sau:

Ngoài ra bạn check email admin thì cũng sẽ nhận được mail có tiêu đề là “Your Site is Having a Technical Issue“.

Trong nội dung email sẽ cho bạn biết chính xác plugin bị lỗi. Ngoài ra cũng có 1 đường link giúp bạn chuyển website sang chế độ “Recovery Mode”.

Chế độ Recovery Mode sẽ ngừng kích hoạt plugin bị lỗi.

Tới bước này thì bạn biết phải làm gì tiếp theo rồi.

Xóa plugin lỗi đi thôi và thay bằng plugin khác xịn xò hơn (nếu muốn).

Nhưng… không phải lúc nào cũng may mắn. Sẽ có lúc bạn không thấy màn hình thông báo lỗi, cũng không có email Recovery Mode.

Lúc này thì chỉ có nước khắc phục sự cố thủ công thôi.

Tăng giới hạn bộ nhớ (Memory Limit)

Nguyên nhân phải tăng memory limit là do đoạn script nào đó đã xài hết bộ nhớ được cấp dẫn đến lỗi.

Cách khắc phục là tăng bộ nhớ PHP lên.

Mình sẽ có 1 bài hướng dẫn riêng để tăng giới hạn bộ nhớ trong WordPress.

Ngừng kích hoạt tất cả plugin

Nếu bạn tăng giới hạn bộ nhớ đến mức cho phép rồi hoặc nâng lên đến 256M hoặc 512M mà vẫn lỗi thì làm tiếp cách này.

Khả năng cao là plugin nào đó trên web chiếm dụng bộ nhớ quá lớn nên bạn hãy tạm thời ngừng kích hoạt hết tất cả plugin để kiểm tra.

Bạn truy cập vào trang quản trị admin -> Plugins -> Installed plugins. Sau đó tick vào ô chọn tất cả plugins và bấm vào “Deactivate” như hình:

Nhưng nếu bạn không vào được trang quản trị admin thì hãy vào File Manager trên bảng quản trị hosting hoặc kết nối hosting bằng FTP.

Bên dưới là mình hướng dẫn kết nối hosting bằng FTP nhé.

Sau khi kết nối FTP, hãy chuyển đến thư mục wp-content, và tìm thư mục “plugins“.

Bây giờ bạn nhấp chuột phải vào thư mục plugin và chọn “Rename“. Bạn có thể đổi tên thư mục plugin thành “plugins-deactivated” hoặc tên gì bạn thích cũng được.

Mục đích của việc đổi tên thư mục plugins là để khi bạn truy cập website, WordPress không tìm ra thư mục chứa plugins thì nó sẽ tự động ngừng kích hoạt tất cả plugins hiện có trên web.

Sau đó bạn thử truy cập trang bị lỗi màn hình trắng xem có vào được không. Nếu truy cập được thì bạn sẽ bật từng plugin một để kiểm tra xem plugin nào bị lỗi.

Đây là cách thủ công, hơi vất vả tí nhưng chắc chắn sẽ tìm ra plugin nào gây lỗi.

Khi xác định được plugin nào lỗi rồi thì xóa nó ngay và luôn là xong.

Kích hoạt theme mặc định của WordPress

Nếu các cách trên không được thì khả năng cao là do theme rồi. Giờ bạn chỉ việc thử đơn giản bằng cách kích hoạt lại theme mặc định của WordPress xem coi còn lỗi không.

Nếu hết lỗi thì là do theme bạn đang xài có vấn đề. Mà khả năng cao là do dùng theme lậu (không được update bản mới) hoặc theme lỗi thời do nhà cung cấp ngừng phát triển.

Hoặc cũng có thể bạn dùng theme free trên kho WordPress.org nhưng chẳng bao giờ update theme (cái này là quá lười mà ra).

Đầu tiên, kết nối hosting bằng FTP và đi tới thư mục /wp-content/themes/. Thư mục này chứa tất cả các theme bạn đã cài trên web.

Nhấp chuột phải vào theme hiện tại đang dùng và tải về máy để backup (lỡ trong lúc thao tác có lỗi gì thì còn khôi phục được).

Sau khi tải về xong thì bạn click phải vào theme đó và chọn “Delete” để xóa đi.

OK bây giờ WordPress thấy theme đang dùng bị xóa thì nó sẽ tự động kích hoạt lại theme mặc định.

Sau đó bạn thử truy cập trang nào bị màn hình trắng xem còn lỗi không.

Nếu hết lỗi thì nguyên nhân là do theme cũ bị lỗi rồi. Giờ thì chỉ cần tải lại mã nguồn theme mới lên và kích hoạt lại thôi.

Lưu ý rằng mã nguồn theme không nên xài bản lậu share tràn lan trên mạng nhé. Rất dễ bị dính mã độc và dễ lỗi vì không được update bản vá lỗi.

Nếu website của bạn thuê dịch vụ thiết kế website để lập trình toàn bộ/1 phần nào đó trên theme thì cứ chat với họ để sửa lỗi theme thôi.

Bật chế độ Debug để tìm lỗi trong WordPress

Bây giờ giả sử các cách ở trên không xử lý được thì bạn bật Debug Mode lên để xem cụ thể lỗi gì.

Bạn chèn 2 đoạn code sau vào file wp-config.php:

define( 'WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true );

Sau khi bật Debug thì quay lại trang màn hình trắng và F5 thì bạn sẽ thấy thông báo lỗi.

Nếu bạn không thấy lỗi thì hãy mở file log để kiểm tra. Bạn kết nối hosting bằng FTP và đi đến thư mục wp-content. Sau đó tìm file debug.log và mở ra xem.

Xóa cache

Cách này đúng ra nên đưa lên đầu bài chứ nhỉ. Mà thôi dù gì chắc bạn cũng đã xóa cache rồi mới đọc đến đây.

Nếu truy cập admin bình thường mà truy cập ngoài trang chủ bị lỗi màn hình trắng thì hãy thử xóa cache.

Lỗi xảy ra khi nội dung bài viết quá dài

Lý do này nghe hết sức tào lao nhưng cũng có thể xảy ra đối với bài viết hoặc trang có nội dung quá dài.

Cách này làm tăng khả năng xử lý văn bản của PHP bằng cách tăng giới hạn đệ quy và bẻ khóa ngược (recursion và backtrack limit). Bạn chèn code sau vào cuối file wp-config.php:

ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000);

Phù, cuối cùng cũng xong. Bài viết khá dài nhưng cũng đầy đủ các cách để bạn có thể tự xử lý. Lỗi màn hình trắng cơ bản cực kỳ khó chịu nên nếu bạn lỡ bị thì bình tĩnh mà từ từ xử lý nhé.

Tổng hợp và biên soạn nội dung bởi: vothanhduy.com

Tư liệu tham khảo:

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x