Trang chủ > Kiến thức hữu ích > Cách sửa lỗi trắng trang trong wordpress

Cách sửa lỗi trắng trang trong wordpress

Các bạn sử dụng WordPress một thời gian, đã từng phát triển một số web/blog bằng mã nguồn mở WordPress chắc không ít một lần gặp phải tình trạng lỗi màn hình chủ bị trắng nhếch. Lỗi WordPress màn hình trắng (White Screen of Death) đây là một trong những vấn đề cực kỳ khó chịu giống như lỗi thiết lập kết nối cơ sở dữ liệu error establishing a database connection.

Lý do mà vấn đề này gây khó chịu cho người sử dụng vì nó khóa trang quản trị admin làm cho bạn không thể vào được, và một điều nữa là vì nó không có thông báo lỗi gì ra màn hình hết nên chúng ta cũng rất khó để biết nó tại nguyên nhân gì, lỗi code nào, dòng số mấy,.v.v…

Ngoài ra Lỗi màn hình trắng đôi khi chỉ ảnh hưởng một phần nào đó của trang web thôi, ví dụ, lỗi này chỉ bị trong trang quản trị wp-admin trong khi mọi thứ khác hoạt động tốt. Hoặc trường hợp bạn chỉ nhìn thấy lỗi trắng trang này ở một bài viết (posts) cụ thể trong khi mọi trang khác chạy tốt.

Trong bài viết này, Mình sẽ hướng dẫn cho bạn cách để khác phục lỗi màn hình WordPress trắng bằng một số giải pháp có thể như sau:

Lưu ý: Trước khi thực hiện các thay đổi, hãy backup dữ liệu trước nhé !!

Đầu tiên mình sẽ nói sơ qua về nguyên nhân gây nên lỗi màn hình trắng khi chỉnh sửa WordPress như sau

Khi bạn nhận lỗi trang trắng có nghĩa rằng hệ thống đã cạn kiện bộ nhớ, không thể truy xuất.  Lỗi này có thể được gây ra bởi một plugin không hoạt động đúng hoặc các plugin bị xung đột, cũng có thể được gây ra bởi một chủ đề (Themes) chưa được mã hóa, hoặc cũng có thể do vấn đề từ máy chủ hosting của bạn.

Trước khi vào tìm cách khắc phục sự cố, Bạn hãy xem tình trạng lỗi này xảy ra trên toàn bộ Web hay chỉ một số trang nhất định.

Nếu vấn đề xảy ra với toàn bộ trang web, bạn hãy xem lại nhà cung cấp website bạn có vấn để không?  Tuy nhiên, nếu vấn đề Trắng trang wordpress và không có bất kì thông báo nào ra màn hình (White Screen of Death) xảy ra ở một trang nhất định thì có thể đây là vấn đề với một plugin hoặc chủ đề mà bạn đang cài đặt cho web/blog.

Tăng giới hạn của bộ nhớ

Thường vấn đề này xảy ra bởi vì bộ nhớ của bạn đang bị cạn kiệt. Các bạn xem thêm bài viết cách tăng bộ nhớ PHP trong WordPress

Vô hiệu hóa tất cả các Plugin (Disabling All Plugins)

Các bạn có thể xem thêm bài hướng dẫn cách tắt tất cả Plugin wordpress không vào wp-admin để giải quyết vấn đề này khi trang wp-admin bị lỗi và bạn cũng không thể vào bên trang quản trị này.

Nếu tăng giới hạn bộ nhớ vẫn không xử lý được vấn đề trang trắng này, Theo mình tiếp theo bạn hãy vô hiệu hóa tất cả các plugin đi và bắt đầu kiểm tra từng Plugin xem chương trình nào đang gây ra lỗi trên. sau đó active lần lượt lại từng cái một và kiểm tra vấn đề nhé.

Xem Hướng dẫn sau:

Dùng phần mềm FTP vào thư mục cài đặt WordPress tìm đến /wp-content/. Tìm thư mục “plugins” rồi đổi tên thành “plugins_old”. Sau đó tạo lại một thư mục mới có tên là “plugins”.

Sau khi đổi tên thư mục sẽ ngưng kích hoạt toàn bộ plugin. Nếu website trở lại bình thường thì plugin của bạn đã gây ra lỗi. Giờ tiến hành chép từng thư mục plugin trong thư mục “plugins_old” vào thư mục “plugins” rồi kích hoạt để xem plugin nào gây lỗi.

Thay đổi giao diện trở về mặc định (Replace Theme with a Default Theme)

Nếu vấn đề Plugin vẩn chưa phải là lỗi gây ra, bạn hãy chuyển giao diện (Theme) trở về mặc định. Cách tốt nhất trở về giao diện mặc định khi không vào được wp-admin, bạn hãy sao lưu thư mục /Theme/ cửa bạn trên Hosting bằng phần mềm FTP. Sau đó xóa giao diện này đi, WordPress sẽ tự động trở lại chủ đề mặc định.

Hoặc vào phần quản lý WordPress, Appearane > Themes. Giao diện website của bạn sẽ trở về giao diện mặc định của WordPress.


Cách khác để sửa lỗi Trang trắng trong WordPress

- Lỗi do có khoảng trắng trong code của file functions.php trong themes bạn đang dùng, lỗi do nguyên nhân này là nhiều nhất, do trong quá trình chỉnh sửa code bạn vô tình để lại khoảng trắng đó

01
02
03
[Khoảng trắng]<?php
[Các đoạn code]
[Khoảng trắng]

Bạn cần xóa các khoảng trắng xuất hiện ở đầu hoặc cuối cặp thẻ <?php ?> trong file functions.php. Ví dụ:


Làm theo cách trên xem tình trạng đã xử lý được không, nếu không hãy thử tiếp các cách khác.

oặc bạn hãy thêm đoạn code sau vào file .htaccess của wordpress



php_flag output_buffering on

Thay vì ta thực hiện bằng tay như ở trên, đoạn lệnh này sẽ tự động loại bỏ các khoảng trắng trong các file php và giúp wordpress bình thường trở lại.

Nếu các cách trên vẫn chưa khắc phục được, Bạn hãy thử cách thêm đoạn mã sau đây trong tập tin wp-config.php


error_reporting(E_ALL); ini_set('display_errors', 1);
define( 'WP_DEBUG', true);

Khi bạn thêm đoạn này, các màn hình trắng bây giờ sẽ có báo lỗi, cảnh báo, và thông báo nguyên nhân gây lỗi, giúp bạn tìm ra nguyên nhân gây ra.

Cách khác:

Chèn đoạn code sau vào wp-config.php


/** Trick for long posts */
ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000);

Đây có thể là một lỗi rất bực bội cho các bạn gặp phải,Mình hy vọng rằng với những các xử lý trên đây mình vừa chua sẻ có thể giúp các bạn khắc phục được sự cố đáng ghét này nhé!!

Nếu bạn tìm ra các giải pháp để xử lý lỗi này tốt hơn, hãy chia sẻ cho mọi người bằng cách comment lại đây !!

 ^_^ chúc các bạn thành công!!