Xử lý khi bị trang trắng trên NukeViet 4.3

Khi website không thể truy cập được theo cách thông thường ví dụ trình duyệt thông báo lỗi 500 Internal Server Error hoặc truy cập website chỉ hiển thị màn hình trắng trên trình duyệt, quản trị tiến hành các bước sau để lấy thông tin lỗi và nhờ hỗ trợ.

Hiển thị lỗi trực tiếp lên trình duyệt

Cách này áp dụng cho trường hợp website của bạn còn có khả năng  truy cập vào khu vực quản trị và thực hiện được các chức năng trong quản trị. Đồng thời, website của bạn phải ở phiên bản 4.3.02 hoặc mới hơn. Đối với cách này quản trị tiến hành đăng nhập vào khu vực quản lý site, di chuyển vào phần Cấu hình => Cấu hình chung (/admin/index.php?language=vi&nv=settings&op=system) sau đó chọn vào mục Chế độ nhà phát triển và lưu lại. 

Sau khi thực hiện thao tác trên, quay trở lại khu vực bị trang trắng lỗi sẽ hiển thị lên trình duyệt. Quản trị tiến hành copy nội dung lỗi và gửi lên diễn đàn group facebook để được hướng dẫn cách xử lý. Nếu không thể lấy được lỗi theo cách này quản trị tiếp tục thực hiện theo hướng bên dưới.

Lấy lỗi từ file log

Tại trang bị lỗi, quản trị tiến hành đăng nhập vào FTP (hoặc các chức năng có thể duyệt file trên server), sau đó:
  • Vào thư mục data/logs/error_logs và xóa hết các file *.log
  • Vào thư mục data/logs/error_logs/tmp và xóa hết các file *.log
Sau đó tải lại trang bị lỗi và kiểm tra lại trong thư mục data/logs/error_logs xem có file *.log nào được tạo ra hay không, nếu có mở file lên để lấy nội dung lỗi và gửi lên diễn đàn group facebook để được hướng dẫn cách xử lý. Nếu không có file *.log nào được ghi ra, quản trị tiếp tục thực hiện cách bên dưới để lấy lỗi.

Sửa code để hiển thị lỗi

Đây là cách cuối cùng và chắc chắn thành công nếu cả hai cách trên không thể lấy được thông báo lỗi. Quản trị tiến hành xác định khu vực bị lỗi là ngoài site hay trong admin. Sau đó mở file và thêm vào sau dòng <?php
  • Đối với lỗi ngoài site cần mở file index.php trên thư mục gốc
  • Đối với lỗi trong quản trị cần mở file admin/index.php
Nội dung cần thêm vào như sau:
register_shutdown_function("fatal_handler");

function fatal_handler() {
    $error = error_get_last();
    if ($error !== NULL) {
        echo("<pre><code>");
        print_r($error);
        die("</code></pre>");
    }
}
Sau khi thêm vào, quản trị tải lại trang bị lỗi thì lỗi sẽ được hiển thị lên trình duyệt. Quản trị tiến hành copy nội dung lỗi và gửi lên diễn đàn group facebook để được hướng dẫn cách xử lý.

Đối với các website sử dụng NukeViet cũ hơn 4.3 quản trị tham khảo các cách lấy lỗi thêm tại đây:
Bình luận (9)