Trang chủ / WordPress / Hướng dẫn khắc phục lỗi trắng trang của WordPress
lỗi trắng trang wordpress

Hướng dẫn khắc phục lỗi trắng trang của WordPress

Đã bao giờ bạn cài một plugin hoặc thay đổi một cài đặt nào đó và ngay lập tức nhận được lỗi màn hình trắng chết chóc của WordPress chưa? Website không truy cập được, admin cũng không vào được luôn, và bạn chưa biết phải sửa nó như thế nào thì bài viết này là dành cho bạn :D

Mình sẽ chỉ ra cho các bạn các lôi phổ biến gây ra màn hình trắng này để giúp website của các bạn nhanh chóng hoạt động trở lại nhất có thể.

Lỗi màn hình trắng của WordPress chủ yếu gây ra do lỗi của các đoạn mã PHP, đôi khi do hết bộ nhớ cũng là một nguyên nhân. Khi gặp lỗi này, việc đầu tiên bạn cần làm là vào thử admin (trang quản trị của WordPress) để xem có vào được không. Nếu như admin vào bình thường và chỉ bị lỗi khi truy cập website, thì lỗi thường gây ra bởi theme hoặc plugin

Vô hiệu hoá theme và plugin

Ngay khi gặp lỗi trắng trang của WordPress mà không biết nguyên nhân do đâu, thì bạn hãy vào phần mã nguồn của WordPress và tìm đến thư mục plugin để tắt nó, nhanh nhất là các bạn đổi tên các plugin trong thư mục plugins thành cái gì đó  (thường thì mình thêm chữ d vào cuối tên là xong), sau đó truy cập lại website xem có bị lỗi nữa không. Nếu website hoạt động trở lại thì lỗi  là do các plugin gây ra. Sau đó, bạn đổi tên lại như cũ của các plugin, đổi tên từng cái một, mỗi lần đổi bạn truy cập lại vào website, nếu website bị lỗi thì lỗi chính xac là do plugin bạn vừa sửa tên gây ra.

Nếu sau khi tắt tất cả các plugin mà website vẫn bị lỗi thì bạn hãy thử thay thế theme đang sử dụng bằng theme mặc định của WordPress ( theme Twenty Fifteen là tốt nhất).

Để làm điều này, rất đơn giản bạn chỉ cần đổi tên tất cả các theme có trong thư mục theme của WordPress ngoại trừ theme Twenty Fifteen, khi đó WordPress sẽ tự động chuyển sang dùng theme Twenty Fifteen mặc định. Nếu sau khi đổi theme mà website chạy bình thường thì lỗi chính do theme.

Sau khi xác định lỗi do theme hay plugin thì bạn chỉ cần sửa tương ứng, thử xem lại xem gần đây bạn có thay đổi gì trong mã nguồn website không thì sửa lại và xoá cache ( nếu có), website sẽ hoạt động trở lại bình thường, còn không chỉ có giải pháp xoá bỏ, thay thế lại theme nguyên bản.

Bật thông báo lỗi

Nếu trang web của bạn vẫn die, hoặc admin không làm việc, hoặc bạn đã tìm ra lỗi nhưng chưa hiểu rõ về nó lắm thì bạn có thể bật debugging lên để xem chi tiết lỗi, trang web của bạn sẽ hiển thị lỗi thay vì màn hình trắng chết chóc.

Về lí do xuất hiện màn hình trắng chết chóc là do khi một đoạn code kết thúc bất ngờ do lỗi nào đó mà chưa hiển thị được phần nào của ưebsite, WordPress sẽ trả về một trang trắng.

Để bật trình gỡ lỗi, bản mở file wp-config trong mã nguồn WordPress ra và tìm đến dòng

define( 'WP_DEBUG', false )

sửa false thành true sau đó vào lại website, thay vì nhận được màn hình trắng chết chóc, bạn sẽ nhận được màn hình trắng kèm các dòng lỗi, bạn cần chú ý vào phần cuối của câu báo lỗi, nó sẽ chỉ bạn dòng code bị lỗi ở file nào, khi đó bạn chỉ cần vào đó fix là xong, kiểu kiểu như thế này

Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1874) in /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38

Nếu bạn biết code , bạn có thể sửa vấn đề này rất dễ dàng, tuy nhiên nếu không rành bạn nên nhờ trợ giúp chứ đừng tự làm mà không chắc chắn, vấn đề có thể nặng hơn.

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

Đôi khi bạn sẽ bị lỗi này một cách tự nhiên mà không rõ lí do, rất có thể do bạn đã thiết lập giới hạn bộ nhớ quá thấp. Khi WordPress cần xử lí một vấn đề gì đó, server bạn không đủ bộ nhớ cũng sẽ gây ra màn hình trắng chết chóc. Việc bạn cần làm là tăng giới hạn bộ nhớ cho PHP và WordPress, bạn có thể làm việc này bằng cách thêm dòng code sau vào file wp-config:

define('WP_MEMORY_LIMIT', '64M');

Đôi lúc dòng code này sẽ hoạt động, nếu website bạn sử dụng Apache, bạn sẽ cần sửa nó trong file .htaccess, đơn giản thêm dòng sau vào file .htaccess

php_value memory_limit 64M

Còn nếu bạn sử dụng Nginx, bạn cần sửa trong file thiết lập php.ini. Tìm đến file php.ini và thêm dòng sau

memory_limit = 64M

Bạn có thể tăng cao hơn nếu cần, 128M hoặc 256M, 512M,..

Vấn đề phân quyền tập tin/ thư mục

Nếu vẫn chưa giải quyết được vấn đề, có lẽ nguyên nhân gây ra bởi việc phân quyền tập tin, thư mục trên thư mục mã nguồn WordPress của bạn, WordPress có 3 yêu cầu về phân quyền như sau:

  • file là 644
  • thư mục là 755
  • file wp-config là 660

Nếu bạn dùng hosting thì khá dễ dàng chỉ cần vào thư mục mã nguồn WordPress để thay đổi bằng cách nhập các con số tương ứng trên vào ô bên phải trên Cpanel File Manager

Còn nếu sử dụng vps/server riêng thì bạn thay đổi bằng cách, dùng lệnh “cd” để duyệt tới thư mục mã nguồn WordPress và chạy tiếp 3 lệnh sau:

sudo find . -type f -exec chmod 664 {} + 
sudo find . -type d -exec chmod 775 {} + 
sudo chmod 660 wp-config.php

 Do WordPress Update

Hiếm khi WordPress lỗi trong khi update, có chăng chỉ do đang chạy thì bị timeout, tuy nhiên không phải là không thể nên nếu bạn gặp lỗi màn hình trắng chết chóc sau khi update WordPress thì bạn hãy vào thư mục WordPress kiểm tra xem có file .maintenance trong đó không. Nếu có thì xoá nó đi, website bạn sẽ hoạt động bình thường

Kết luận

Lỗi màn hình trắng chết chóc do rất nhiều nguyên nhân gây ra tuy nhiên trên là những vấn đề mà mình thường gặp nhất, nếu bạn vẫn không fix được thì hãy liên hệ mình qua email contact@crazytut.com để mình giúp

Cảm ơn các bạn đã đọc. Chúc các bạn thành công!

Nếu bạn thấy có ích, hãy subcribe blog của tôi để nhận thêm nhiều tút hay qua email nữa nhé!