Trang chủ WordpressHướng dẫn Wordpress Website bị lỗi trắng trang, hãy đọc file log!

Website bị lỗi trắng trang, hãy đọc file log!

bởi Thạch Phạm
19 bình luận 5731 views
Khuyến mãi hosting

Cách đây 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 nó sẽ đề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 xấu tính thì họ sẽ khai thác lỗi đó như là một bug để xâm nhập, chẳng hạn như vậy.

Đó 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.

Mình đã từng (bị) hỏi rất nhiều câu hỏi dạng như “Ơ, website mình đang bị trắng trang, làm sao để fix?“, nói thật là mình có mọc thêm bộ não nữa cũng không fix được cái lỗi trắng trang nếu chỉ dựa vào một câu nói “website mình bị lỗi trắng trang”.

Mình nói như vậy để bạn biết là lỗi trắng trang hoặc lỗi 500 Internal Server có hàng vạn lý do khác nhau nhưng tất cả nguyên nhân đều xuất phát từ thiết lập trong webserver (.htaccess đối với Apache và file .conf đối với NGINX) và xuất phát từ code trên website.

Giải pháp

Muốn fix được lỗi, chúng ta cần biết nguyên nhân, khi biết được nguyên nhân rồi thì dù bạn là newbie hay pro cũng đều tự sửa lỗi được bằng cách đọc file log lưu lại lỗi, ở đó bạn sẽ biết được nguyên nhân chính xác hơn.

Đối với lỗi trắng trang

100% 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 để fix được lỗi này thì hãy mở file error log lên mà xem.

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 Host, 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ứ dò theo đường dẫn đó mà mở lên. Nếu dùng Shared Host 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.

Nội dung file log có dạng như sau:

[21-Aug-2014 21:40:17 UTC] PHP Warning:  stripslashes() expects parameter 1 to be string, object given in /path/xxx/example.com/public_html/file.php on line XXX
[21-Aug-2014 21:40:17 UTC] PHP Fatal Error: XXX.............................................................

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 bạn muốn biết ý nghĩa của lỗi thì lên Google mà tìm, cái quan trọng là bạn biết được file nào bị lỗi. Nếu file đó là của plugin thì cứ tắt plugin đó bằng cách đổi tên thư mục plugin là xong.

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.

Đối vớ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 Host 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 táy máy các file cấu hình VirtualHost.

 Lời kết

Người ta nói hãy cho cần thay vì cho con cá, và việc bạn biết đọc file log cũng giống như bạn đang sở hữu một cái cần mà bạn có thể sửa được bất kỳ lỗi nào thay vì phải chạy khắp nơi để hỏi để rồi chẳng nhận được câu trả lời đâu vào đâu.

Hãy nên nhớ, tất cả mọi lỗi trong website đều được ghi vào file log bao gồm lỗi 500, lỗi trắng trang, lỗi không upload được ảnh,…..Nên cứ đè file log ra mà đọc, mình cũng phải đọc được file log thì mới fix được thôi.

Hy vọng bài này sẽ giúp ích cho bạn.

19 bình luận

Có thể bạn quan tâm

19 bình luận

Mạc Vị Xuân Tàn 21/08/2020 - 10:32 Chiều

Anh cho em hỏi lỗi bài post hoặc sản phẩm tự nhảy khoảng trắng là lỗi gì ạ? Mỗi lần viết bài xong, đăng bài là cuối bài viết lại tự động nhảy ra nhiều khoảng trắng dạng thẻ  

Reply
Văn Phúc 30/07/2020 - 4:13 Chiều

Anh ơi, em đang sử dụng Cyber Panel và thấy file log nó tạo ra liên tục, ổ đĩa em 60GB tầm 6 ngày là full ổ, anh có cách nào fix lỗi này không ạ ? em tìm toàn nước ngoài chỉ rối quá em ko thể hiểu đc, mong anh giúp e.

Reply
Lý Mạnh 14/06/2017 - 4:58 Chiều

hay quá, nhờ Thạch mình đã sửa được cái lỗi tưởng như rất dễ ăn này, toát cả mồ hôi. Thanks Thạch nhiều 🙂

Reply
The Wind 28/04/2017 - 6:53 Chiều

Trang web của mềnh bị lỗi trắng trang nhưng vẫn vô đc trang Admin và mình fix bằng cách tắt hết plugin Cache đi ..
Lí do vì plugin cache của mềnh chưa chmod thư mục cho nhó nhưng đã bật tính năng nên thế là nó lỗi cmn mất !

Reply
San Hồ Châu 07/04/2017 - 11:03 Chiều

chào anh thachpham
cho em hỏi file error_log của em mỗi lần truy cập web thì file log lại thêm 1 dòng lỗi như này https://scontent.fsgn4-1.fna.fbcdn.net/v/t31.0-8/17546643_828246953992195_623700741503151537_o.jpg?oh=33463b6c44cb70228ad4ab7a9ab1ff27&oe=59504B23
Nhưng em thấy trang web không bị ảnh hưởng gì hết.
Chỉ có file error_log là càng ngày càng nhiều dòng ạ.
Như vậy có ảnh hưởng gì không anh? có cách nào sửa không ạ
Cám ơn anh

Reply
San Hồ Châu 07/04/2017 - 11:04 Chiều Reply
Cường 29/03/2017 - 4:05 Chiều

Chào bác thachpham… #

Bác cho em hỏi chút xíu ak… Em có website và truy cập vào web thì bình thường… nhưng khi đăng nhập vào khu vực admin để viết bài mới… thì không đăng nhập được và thông báo lỗi HTTP ERROR 500

Như vậy là bị lỗi gì ạ… em dùng stabe host ak..

Cảm ơn bác…

Reply
vannguyen 21/12/2016 - 8:22 Chiều

Mình làm sao để vào được các file kia để fix lỗi khi giao diện quản trị admin của wordpress mình ko thể vào được vì cũng bị trắng trang luôn, hướng dẫn vậy mình chẳng biết làm cách nào luôn

Reply
Thạch Phạm 23/12/2016 - 2:42 Chiều

Để xem log lỗi bạn truy cập vào host thông qua FTP bạn nhé, nếu bạn dùng host cPanel thì có thể xem log tại public_html.

Reply
Nguyễn Tấn Công 16/12/2016 - 10:28 Chiều

Mọi người ơi!
Cho mình hỏi: mình cài plugin Woocommerce nhưng khi nhấn nút đặt hàng là website bị lỗi 500. mình đổi lại file .htaccess thì website trở lại bình thương. Nhưng khi vào đặt hàng lại bị.

Mọi người có cách nào giúp mình với?
Mình cảm ơn nhiều!

Reply
nguyễn quốc phục 13/12/2016 - 3:06 Chiều

mình bị lổi này khi cập nhật wordpress lên 4.6.1 hoặc 4.7

các bạn giúp mình với

Reply
Vũ Trọng Trung 13/12/2016 - 1:51 Chiều

Anh Thạch Phạm giúp em. Em backup dữ liệu từ một trang khác về và cài lên host của em mà chorme nó báo “Trang topbansi.com hiện không hoạt động
topbansi.com hiện không thể xử lý yêu cầu này. HTTP ERROR 500” còn ở firefox thì nó trắng màn hình. kiểm trả file log thì nó chỉ có cảnh báo warming như dưới. Mong anh và các bạn giúp em
[06-Dec-2016 16:02:22 UTC] PHP Warning: printf() [<a href='function.printf'>function.printf</a>]: Too few arguments in /home/thoitranghk/public_html/wp-admin/includes/plugin-install.php on line 213

Reply
quan 11/12/2016 - 4:04 Chiều

bác thạch làm ơn cho hỏi : mình bị trắng trang , đọc file logs thì nó báo thế này :
[11-Dec-2016 08:16:56 UTC] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 2590 bytes) in xxxxx/xxx/xxxx/wp-db.php on line 1846

fix thế nào được vậy bác ơi ?

Reply
Vũ Trọng Trung 13/12/2016 - 1:53 Chiều

Cái này hình như là bị tràn bộ nhớ. Tăng bộ nhớ của host lên có lẽ là ok

Reply
quan 13/12/2016 - 4:04 Chiều

cảm ơn bác ! em tăng bộ nhớ lên 512 rồi ( max của stablehost) và gỡ bỏ plugin ( chèn quảng cáo giữa bài viết ) ra thì hết . chắc do xung đột 🙁 .

Reply
David trần 15/10/2016 - 7:11 Chiều

chào bạn Thạch Phạm
Bạn cho mình hỏi lỗi này nguyên nhân do đâu và cách khắc phục thế nào?
Mô tả: site mình đang test thì thế này. mỗi lần load trang hay click xem bài thì báo lỗi khoảng trong vòng 1,5 – 2 giây rồi vào bình thường. các bài đã load lần sau mở lại thì không bị nữa. thỉnh thoảng bị lỗi 503

Reply
Anh Vũ 07/09/2016 - 3:12 Chiều

anh ơi sao em sửa define thành true rồi mà vẫn vị trang trắng ạ.
Anh giúp em với http://thumuaphelieuhn.com

Reply
Sơn 05/12/2016 - 10:51 Chiều

Mình thấy web bạn vào được rồi. Bạn sửa lỗi đó thế nào vậy ? Mình chuyển web sang dreamhost cũng bị lỗi này

Reply
Mr Hoan 15/07/2016 - 4:15 Chiều

Cám ơn Thạch Phạm, mình cũng là newbie, hôm nay táy máy vào functions.php chèn thêm 1 đoạn code để cài hình nền thế là dính lỗi 500, đọc bài của bạn xong mình vào public_html, mò vào wp-content>theme>theme đang sd và thấy functions.php, edit nó xóa dòng code mình đã chén và tải lại trang là ok.

Reply

Để lại một bình luận

* Khi bình luận, bạn đồng ý rằng thông tin bạn nhập vào bao gồm tên, email và địa chỉ IP sẽ được lưu giữ tại website.