Contact Form 7 bản 6.2 yêu cầu PHP 8.3: cảnh báo website WordPress bị lỗi nghiêm trọng

Chia sẻ bài viết

Mục lục

Contact Form 7 từ bản 6.2 yêu cầu máy chủ chạy PHP 8.3 trở lên. Nếu website của bạn còn chạy PHP 8.2 trở xuống mà lỡ cập nhật plugin, toàn bộ website có thể báo lỗi nghiêm trọng chứ không riêng trang có form.

Bài này giúp bạn kiểm tra nhanh website có bị ảnh hưởng không, cách phòng tránh trước khi cập nhật, và cách cứu web nếu đã gặp lỗi.

Contact Form 7 bản 6.2 yêu cầu PHP 8.3: cảnh báo website WordPress bị lỗi nghiêm trọng

Chuyện gì đang xảy ra?

Khoảng đầu tháng 10/2026, Contact Form 7 phát hành bản 6.2. Từ bản này, plugin yêu cầu PHP 8.3 trở lên. Trước đó, plugin chỉ cần PHP 7.4. Bản mới nhất tại thời điểm viết bài là 6.2.2, file readme khai báo rõ Requires PHP: 8.3.

Đây là thay đổi yêu cầu hệ thống bình thường, nhiều plugin lớn đều làm vậy theo thời gian. Vấn đề nằm ở cách lỗi xảy ra. Plugin có file vendor/composer/platform_check.php kiểm tra phiên bản PHP ngay lúc nạp. Nếu PHP thấp hơn 8.3, PHP dừng chạy luôn. Vì WordPress nạp tất cả plugin cho mọi trang, nên cả website sập theo.

Trên trình duyệt, bạn sẽ thấy dòng chữ:

Đã có lỗi nghiêm trọng trên trang web của bạn.
There has been a critical error on this website.

Trong file error_log sẽ có dòng tương tự:

Your Composer dependencies require a PHP version ">= 8.3.0". You are running 8.2.x.

Vì sao vẫn có người dính lỗi dù WordPress đã chặn?

Thông thường, khi PHP không đủ, WordPress sẽ làm mờ nút cập nhật trong trang quản trị. Nhưng lỗi vẫn xảy ra trong hai trường hợp sau:

  • Cập nhật bằng công cụ khác: cập nhật hàng loạt qua WP Toolkit, MainWP, ManageWP, dùng WP-CLI, hoặc cài plugin từ file zip. Những cách này có thể bỏ qua bước kiểm tra của wp-admin.
  • Web chạy PHP 8.3 nhưng cron hoặc WP-CLI chạy PHP thấp hơn. Đây là trường hợp nguy hiểm nhất. Website vẫn mở bình thường nên không ai để ý. Nhưng các tác vụ nền như wp-cron, gửi email, đồng bộ đơn hàng, Action Scheduler của WooCommerce có thể chết âm thầm nhiều ngày. Bạn chỉ phát hiện khi khách phàn nàn không nhận được email hoặc đơn hàng bị kẹt.

Website của bạn có bị ảnh hưởng không?

Bạn cần chú ý nếu website có cài Contact Form 7 và đang chạy PHP dưới 8.3. Cách xem phiên bản PHP hiện tại:

  • Trong WordPress: vào Công cụ > Tình trạng trang web > Thông tin > Máy chủ, xem dòng phiên bản PHP.
  • cPanel: mục MultiPHP Manager.
  • CloudLinux: mục Select PHP Version.
  • DirectAdmin: mục PHP Version Selector.
  • VPS quản trị bằng SSH: chạy lệnh dưới đây. Lưu ý PHP dòng lệnh có thể khác PHP mà website đang dùng, nên hãy đối chiếu thêm với một trong các cách trên.
php -v

Chưa cập nhật: tạm hoãn hoặc nâng PHP trước

Nếu website chưa cập nhật Contact Form 7, cách an toàn nhất là tạm hoãn cập nhật plugin này. Khi đã sẵn sàng, hãy nâng PHP trước theo checklist sau:

  1. Backup đầy đủ cả file và database.
  2. Kiểm tra các plugin và theme khác có hỗ trợ PHP 8.3 không. Chú ý nhất là plugin trả phí, plugin lâu không cập nhật và plugin thanh toán.
  3. Đổi phiên bản PHP của website lên 8.3.
  4. Đổi luôn PHP của cron job sang 8.3 nếu cron gọi đường dẫn PHP cụ thể. Ví dụ trên cPanel, đổi /opt/cpanel/ea-php82/root/usr/bin/php thành /opt/cpanel/ea-php83/root/usr/bin/php.
  5. Kiểm tra lại trang chủ, form liên hệ, giỏ hàng và trang thanh toán (nếu có WooCommerce).
  6. Sau cùng mới cập nhật Contact Form 7.

Website đã bị lỗi: cách cứu theo thứ tự ưu tiên

Cách 1: Nâng PHP lên 8.3 (nhanh nhất)

Vào cPanel, DirectAdmin hoặc CloudLinux và đổi PHP của website lên 8.3. Thông thường website sẽ chạy lại ngay sau khi lưu thay đổi. Sau đó hãy kiểm tra nhanh các trang quan trọng như ở checklist bên trên.

Cách 2: Tạm vô hiệu hóa plugin, cài lại bản cũ

Dùng cách này nếu bạn chưa thể nâng PHP ngay, ví dụ vì còn plugin khác chưa tương thích PHP 8.3.

  1. Vào File Manager hoặc FTP, tìm thư mục wp-content/plugins/contact-form-7.
  2. Đổi tên thư mục, ví dụ thành contact-form-7-off. WordPress sẽ tự vô hiệu hóa plugin và website lên lại.
  3. Cài lại bản 6.1.x. Bạn có thể tải từ trang plugin trên wordpress.org, vào mục "Advanced View", chọn phiên bản cũ ở phần Previous Versions. Hoặc dùng WP-CLI:
wp plugin install contact-form-7 --version=6.1.7 --force

Sau khi cài lại, nhớ tắt tự động cập nhật Contact Form 7 cho đến khi bạn nâng PHP lên 8.3. Nếu không, hệ thống có thể tự cập nhật lại lên 6.2 và web sập lần nữa.

Đừng quên kiểm tra cron và tác vụ nền

Sau khi web chạy lại, hãy kiểm tra email có gửi được không, đơn hàng có đồng bộ không, và trong WooCommerce vào Công cụ > Tác vụ đã lên lịch xem có tác vụ nào bị treo hoặc lỗi trong những ngày gần đây không.

Bài học chung khi vận hành WordPress

  • Plugin ngày càng hay nâng yêu cầu PHP. Hãy giữ PHP ở phiên bản còn được hỗ trợ, đừng để quá cũ.
  • Đồng bộ phiên bản PHP giữa website, cron job và WP-CLI.
  • Backup trước mỗi lần cập nhật plugin, theme hoặc WordPress.
  • Với website bán hàng, nên cập nhật thử trên bản staging trước khi cập nhật bản chính.
  • Cân nhắc kỹ khi bật cập nhật hàng loạt bằng công cụ quản lý nhiều website.

TND hỗ trợ bạn

Nếu bạn đang dùng VPS hoặc hosting tại TND và không chắc website của mình có bị ảnh hưởng, đội kỹ thuật TND có thể hỗ trợ:

  • Kiểm tra phiên bản PHP của website, cron và WP-CLI.
  • Nâng PHP lên 8.3 và kiểm tra tương thích plugin.
  • Kiểm tra cron, tác vụ nền và khôi phục website khi gặp lỗi.

Liên hệ TND qua trang liên hệ hoặc hotline 0225.999.6666. Bạn nên backup trước khi thay đổi; mọi thao tác khôi phục đều phụ thuộc vào bản sao lưu hiện có.

Câu hỏi thường gặp

Tôi không dùng Contact Form 7 thì có bị không?

Lỗi trong bài này chỉ xảy ra với website có cài Contact Form 7 bản 6.2 trở lên. Tuy vậy, plugin khác cũng có thể nâng yêu cầu PHP theo cách tương tự, nên bạn vẫn nên kiểm tra phiên bản PHP định kỳ.

Nâng lên PHP 8.3 có làm hỏng plugin khác không?

Có thể, nhất là plugin cũ, plugin trả phí lâu không cập nhật hoặc theme tự viết. Vì vậy cần backup và kiểm tra lại các trang quan trọng sau khi đổi PHP. Nếu có lỗi, bạn có thể chuyển PHP về bản cũ để web chạy lại trong lúc xử lý.

Có nên bật tự động cập nhật plugin không?

Với website nhỏ, ít plugin, bật tự động cập nhật giúp vá lỗi bảo mật kịp thời. Với website bán hàng hoặc có nhiều plugin quan trọng, nên cập nhật thủ công sau khi đã backup, hoặc thử trên staging trước.

Làm sao biết cron đang chạy PHP bản nào?

Xem lệnh cron trong cPanel (mục Cron Jobs) hoặc crontab -l trên VPS. Nếu lệnh gọi đường dẫn có số phiên bản như ea-php82 thì cron đang chạy PHP 8.2. Nếu chỉ ghi php, bạn có thể tạo tạm một cron chạy lệnh sau rồi xem file kết quả:

php -v > ~/php-cron-version.txt