Xử lý lỗi trắng trang khi thay đổi version PHP trên Windows Hosting

30-May-2018

Bài viết sau sẽ hướng dẫn một số cách xử lý khi bị lỗi trắng trang sau khi thay đổi PHP Version trên Windows hosting.

Nguyên nhân: Có thể do phiên bản PHP không phù hợp với một module hoặc plugin trong website.

- Cấu hình cho PHP hiển thị thông báo lỗi:
Đăng nhập vào Giao diện Plesk của Windows Hosting > PHP Setting

Cấu hình 2 thông số
Display_errors = On
Error_Reporting = E_ALL

- Cấu hình hiển thị lỗi trong bộ mã nguồn
Đối với từng mã nguồn có thể điều chỉnh cấu hình trong mã nguồn để hiển thị Error log ra màn hình hiển thị của Website.
+ Với Joomla:
Có thể điều chỉnh trong file configuration.php của mã nguồn, cấu hình biến $error_reporting sử dụng các giá trị sau:
-1: Tắt thông báo lỗi
30709: Hiển thị tất cả các lỗi ngoại trừ warnings và notices (cấu hình tương đương E_ALL & ~(E_NOTICE|E_WARNING) )
30711: Hiển thị tất cả các lỗi bao gồm warnings, không bao gồm notices (cấu hình tương đươngE_ALL & ~E_NOTICE )
30719: Hiển thị tất cả các lỗi bao gồm warnings và notices, không bao gồm E_STRIC (cấu hình tương đươngE_ALL &~ E_STRIC)
32767: Hiển thị tất cả các lỗi, warning, notices và các lỗi "strict standards" (ví dụ:“Strict Standards: Non-static method … on line XX”) (cấu hình tương đương E_ALL )
Với mục đích kiểm tra lỗi liên quan đến phiên bản PHP, phần cấu hình này nên sử dụng giá trị 32767để hiển thị tất cả các lỗi bao gồm gợi ý của PHP về việc các hàm mà mã nguồn đang sử dụng có tương thích / phù hợp với phiên bản PHP mà hệ thống đang sử dụng hay không.
Ví dụ:
public $error_reporting = '32767:';
public $log_path = 'C:\vhosts\testit.com\httpdocs\joomla\logs'; #Đường dẫn lưu file log
Tùy thuộc vào phiên bản PHP máy chủ đang sử dụng mà cấu hình hiển thị tất cả các lỗi E_ALL khác nhau như sau:
32767 nếu là PHP 5.4.x trở lên
30719 nếu là PHP 5.3.x
6143 nếu là PHP 5.2.x
2047 nếu là các phiên bản PHP thấp hơn
+ Với Wordpress:
Thay đổi một số giá trị trong file wp-config.php như sau:
/**Bật WP_DEBUG mode */
define('WP_DEBUG', true);
/**Bật chức năng lưu file log ở đường dẫn sau /wp-content/debug.log*/
define('WP_DEBUG_LOG', true);
/**Hiển thịcác lỗi và warnings*/
define('WP_DEBUG_DISPLAY', true);
@ini_set('display_errors',1);
- Kiểm tra Plugin, modules, themes có hoạt động với Version PHP đã đổi không.
Các Plugin, Modules hay Themes đều chỉ hoạt động trên một hoặc một số phiên bản PHP Version nhất định, do vậy khi đổi PHP Version có thể dẫn đến việc hoạt động không chính xác gây ra lỗi trắng trang.
Với trường hợp này ta có thể thử Disable từng Plugin hay Modules bằng cách đổi tên.
+ Với Joomla:
B1: Login Plesk Panel
B2: Vào phần Database > Chọn Database của Website > PHPMyadmin
B3: Click chọn bảng jos_extensions
B4: Trong cột Name tìm tên Plugin cần disable
B5: Đổi giá trị Enable từ 1 thành 0 (1 là plugin được Enable, 2 là Plugin disable)
+ Với Wordpress:
B1: Vào Files > httpdocs > wp-content > Plugins
B2: Đổi tên folder Plugin cần disable, khi đổi tên xong Plugin sẽ được disable.