Hướng dẫn nâng cấp PHP 8 cho website WordPress chuẩn nhất.
Như vậy là sau bao ngày chờ đợi, PHP 8 cũng đã chính thức có mặt trên dịch vụ WordPress Hosting của WP Căn bản. Đây là phiên bản PHP mới nhất tính đến thời điểm hiện tại với nhiều cải tiến và tính năng bổ sung. Nếu có nhu cầu tìm hiểu kỹ hơn về phiên bản này, các bạn có thể tham khảo tại đây. Quay trở lại vấn đề chính, vì là phiên bản mới nên rất nhiều theme và plugin WordPress vẫn chưa hỗ trợ tốt cho PHP 8. Chắc hẳn, sẽ cần chờ một thời gian khá dài nữa để các lập trình viên kịp update code. Tuy nhiên, ngay lúc này, nếu bạn vẫn muốn thử vận may (biết đâu toàn bộ theme và plugin trên website của bạn đều tương thích với PHP 8) thì sau đây là hướng dẫn chi tiết.
Tham khảo thêm:
Điều kiện sử dụng PHP 8
Không riêng gì dịch vụ WordPress Hosting của chúng tôi, mọi hosting đều có thể nâng cấp PHP 8 theo hướng dẫn bên dưới, miễn là nó thỏa mãn đầy đủ các yêu cầu sau đây:
- Hosting sử dụng cPanel/ DirectAdmin và được trang bị tính năng cho phép tùy chọn phiên bản PHP (Select PHP Version) của hệ điều hành CloudLinux.
- Tích hợp sẵn PHP 8.
- Theme và plugin của bạn tương thích tốt với PHP 8.
- Website của bạn đã được update lên phiên bản WordPress 5.6 hoặc cao hơn. Các phiên bản WordPress thấp hơn chưa hỗ trợ PHP 8.
Nâng cấp PHP 8 cho WordPress
1. Đầu tiên, các bạn truy cập vào cPanel/ DirectAdmin, tìm mục Select PHP Version và click vào đó.
2. Trong tab Extensions, các bạn lựa chọn PHP 8 trong mục Current PHP Version rồi click vào nút Set as current. Tiếp theo, thiết lập các extension (module) giống như hình bên dưới.
Danh sách extension có thể thay đổi tùy theo từng nhà cung cấp. Tuy nhiên, hãy kích hoạt hết những extension tương tự mà bạn thấy xuất hiện ở trên.
Lưu ý: các thiết lập module kể trên là tối ưu nhất dành cho mã nguồn WordPress, chúng chưa được kiểm nghiệm trên các mã nguồn khác.
3. Chuyển qua tab Options, các bạn thiết lập các thông số như sau:
Các thông số tối đa của memory_limit
, post_max_size
và upload_max_filesize
có thể thay đổi tùy theo nhà cung cấp hosting. Nếu bạn được phép tùy chỉnh thông số nào, hãy cố gắng thiết lập nó giống như hình bên trên.
4. Truy cập website của bạn và kiểm tra xem giao diện cũng như các tính năng đã hoạt động bình thường hay chưa. Nếu rồi thì có nghĩa là các bạn đã nâng cấp PHP 8 thành công. Nếu có lỗi xảy ra, các bạn hãy kiểm tra error_log
để xem theme hay plugin nào không tương thích. Trong trường hợp không thể khắc phục, các bạn chỉ cần chuyển về phiên bản PHP cũ là được.
Bạn đang sử dụng phiên bản PHP nào cho website WordPress của mình? Bạn đã nâng cấp PHP 8 chưa? Hãy chia sẻ với chúng tôi quan điểm và ý kiến của bạn trong khung bình luận bên dưới.
Nếu bạn thích bài viết này, hãy theo dõi blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất nhé. Cảm ơn rất nhiều. :)
wpcanban vẫn chưa lên hả bác
Bên mình vẫn đang sử dụng PHP 7.4 thôi bạn. :D
Sáng nay kiểm tra vẫn chưa có Redis
Tiếp tục ở lại 7.4 @@
PHP 8 bị thiếu một số module (so với PHP 7) mà mình cần nên mình cũng đang dừng lại ở PHP 7.4. :P
em nâng cấp lên 8.0 là bị lỗi, có vẻ theme code ko ổn, thay theme khác thì ok nhưng mà hàng công ty ko làm thế đc.
Mình cũng mới nâng cấp PHP 8 được mấy hôm. Có cái plugin Comment Approved không tương thích nhưng đã tự xử lý được.
Mình lên những vẫn chưa tương thích lắm :D
Theme hay plugin nào chưa tương thích thế bạn?
Nay thử nâng cấp lên 8 mà nó báo có lỗi ngiêm trọng, đang dùng theme flatsome 3.14 k biết nó đã hỗ trợ chưa
Bạn bật wp_debug trong wp-config.php lên xem nó báo lỗi gì. Có khi là lỗi do plugin nào đó chứ không hẳn là do theme.
Có vẻ php8 chưa hỗ trơ redis vs object-cache thì phải bác à
PHP 8.1 chưa hỗ trợ thôi. PHP 8.0 mình thấy có 2 module redis và memcached rồi.
mình bật phần mở rộng redis tạm thời hết lỗi rồi bác, thấy trải nghiệm cũng bình thường k thấy nhanh hơn mấy. Bác có rảnh tes hộ site e thử, e thì k rành mấy ni. hiện tại đang php8
Host LiteSpeed thì dùng plugin LiteSpeed Cache đi bạn. Dùng WP Rocket làm gì? :P Site của bạn chưa tối ưu dữ liệu tĩnh (CSS, JS, hình ảnh…). Nếu tối ưu thì sẽ load nhanh hơn.
Mình cứ tưởng wp rocket nó tối ưu cho mình rồi, hiện tại thấy dùng wprocket cũng thấy cải thiện đang kể, đượt trước có cài ls mà có vẻ k ăn thua mấy bác à
Cài thì phải cấu hình thì nó mới tối ưu được. Mỗi website lại có cách cấu hình khác nhau để tương thích tốt nhất. Tham khảo bài viết “Hướng dẫn cài LiteSpeed Cache cho website WordPress” đi bạn.
Hiện WP đã update tốt cho PHP 8 chưa bạn nhỉ. Mình thấy có bản php 8.1 rồi
Hệ thống blog và website của em đang chạy PHP 8.1 đây bác. WordPress hỗ trợ PHP 8.1 lâu rồi. Rất nhiều plugin cũng đã hỗ trợ PHP 8.1.
Vâng bro, mình đang băn khoăn, để nâng lên thử nếu lỗi lại back về 7.4
Em có một vài plugin không tương thích với PHP 8 và PHP 8.1 nhưng đã tự fix. Còn lại thì hầu hết đều tương thích tốt. :D
Mình dùng PHP 8.1 gần tháng nay thấy ko gặp vấn đề gì.
Mình mới dính lỗi mấy plugin cũ với hàm bị disable. Đã xử lý xong 🥹
Trộm vía bên mình plugin đều được update hỗ trợ PHP 8.1 rồi :D
Chào Hiếu, mình đã chọn php8.1 ở bên phần Selec PHP Version rồi
nhưng mục MultiPHP Manager thì vẫn 7.3 thì tức là web vẫn đang sử dụng phiên bản 7.3 phải không nhỉ
Bên mục MultiPHP Manager bạn phải chọn
inherited
thì website mới sử dụng phiên bản PHP mà bạn đã chọn trong mục Select PHP Version nhé.Cảm ơn Hiếu, mình đã chọn lại “inherit” rồi, nhưng web vẫn lỗi không vào được admin, nó báo lỗi :
“There has been a critical error on this Website”
Nghĩa là theme hoặc plugin nào đó trên site của bạn không tương thích với PHP 8 rồi. Bạn thử làm theo “Hướng dẫn khắc phục lỗi trắng trang trong WordPress” để xác định xem theme hay plugin nào bị lỗi nhé.
Lạ thật, mình sửa hết lần lượt các tên folder của Plugin sang .old rồi mà vẫn không vào trang quản trị được, trong khi web ở chế độ ẩn danh hay chế độ không phải quản trị thì vẫn vào bình thường.
Theme thì mình dùng của GeneratePress bao năm nay,
có khi nào bị lỗi ở mục chọn ở Tab Extension khi nâng cấp lên 8.1 không bạn nhỉ
Cảm ơn bạn Hiếu rất nhiều nhé, mình đã tìm ra lỗi khi chạy DEBUG, thì ra là thiếu Redis ở PHP trong khi trước đó mình dùng redis (PHP Fatal error: Uncaught Error: Class “Redis” not found in…home).
AE ai bị lỗi này thì vào tab Extension khi nâng cấp PHP và tích vào Redis, tuy là nó có cái cảnh báo màu vàng nhưng không conflict là được.
Lạ thế nhỉ. Bình thường thì việc thiếu module Redis đâu có gây ra lỗi website. :D