Bạn có thể thấy cảnh báo trong Bảng điều khiển Bitrix24 của mình:
Điều này có nghĩa là gì
Tất cả các phiên bản PHP 7 đã đạt cuối đời và không còn được hỗ trợ nữa. Họ không còn nhận được các bản sửa lỗi hoặc cập nhật bảo mật nữa. Không sử dụng các phiên bản PHP sớm hơn 8.1.
Nếu bạn vẫn sử dụng phiên bản cũ hơn, bạn sẽ không thể cài đặt các bản cập nhật Bitrix24. Điều này có nghĩa là bạn sẽ bỏ lỡ các tính năng mới cũng như các cải tiến quan trọng về hiệu suất và bảo mật. Để tiếp tục cập nhật hệ thống của bạn, hãy nâng cấp PHP lên phiên bản 8.1 trở lên.
phải làm gì
Nâng cấp phiên bản PHP của bạn lên 8.1 càng sớm càng tốt.
Quá trình này có thể mất một số bước. Nếu cần, hãy liên hệ với quản trị viên hệ thống hoặc nhà cung cấp dịch vụ lưu trữ của bạn.
-
Sao lưu trang web của bạn
Sử dụng công cụ sao lưu tích hợp hoặc tạo bản sao lưu cấp máy chủ. -
Cài đặt bản cập nhật nền tảng
Đi tới Bảng điều khiển > Thị trường > Cập nhật nền tảng . -
Cập nhật giải pháp của bên thứ ba
Đi tới Bảng điều khiển > Thị trường > Cập nhật giải pháp . -
Nâng cấp PHP lên phiên bản 8.1
Nếu bạn sử dụng BitrixVM, hãy mở menu và chọn: 1. Quản lý máy chủ trong pool - 8. Cập nhật PHP và MySQL . Tìm hiểu thêm trong khóa học này .
-
Kiểm tra lại các bản cập nhật
Cài đặt mọi bản cập nhật nền tảng hoặc giải pháp còn lại.
Sửa lỗi sau khi nâng cấp PHP
- Nếu các mô-đun Bitrix24 tiêu chuẩn không hoạt động, hãy liên hệ Hỗ trợ Bitrix24 .
-
Nếu tên giải pháp bắt đầu bằng
bitrix.*(ví dụ:bitrix.eshop,bitrix.sitecommunity,bitrix.sitecorporate,bitrix.siteinfoportal,bitrix.sitepersonal,bitrix.learningtemplates), hãy liên hệ với bộ phận Hỗ trợ Bitrix24. - Nếu mô-đun của bên thứ ba từ Marketplace không hoạt động, hãy liên hệ với nhà phát triển mô-đun. Bạn có thể tìm thấy chi tiết liên lạc của họ trong Hỗ trợ tab.
Các sự cố thường gặp và cách khắc phục
Tại sao vấn đề xảy ra
Sau khi nâng cấp lên PHP 8.1, sự cố thường xảy ra nếu:
- Bạn chưa cài đặt bản cập nhật nền tảng trước khi nâng cấp.
- Bạn chưa cập nhật giải pháp của bên thứ ba.
- Một mô-đun không hỗ trợ PHP 8.1.
Cách khắc phục các sự cố thường gặp
- Hạ cấp xuống phiên bản PHP 7.x trước đó, nhận tất cả các bản cập nhật được đề xuất và sau đó nâng cấp lại lên PHP 8.1x.
- Nếu cài đặt bản cập nhật không giúp khắc phục sự cố, hãy làm theo các đề xuất từ phần này - Phải làm gì khi gặp lỗi khi cập nhật phiên bản PHP .
-
Tạm thời vô hiệu hóa mô-đun có lỗi bằng cách di chuyển nó ra khỏi
/bitrix/mô-đun. - Loại bỏ giải pháp của bên thứ ba có lỗi.
Các bước này giải quyết các vấn đề mô-đun cụ thể. Mỗi trường hợp có thể yêu cầu một sửa chữa riêng.
[Ux11] Lỗi trong mô tả mô-đun "#MODULE#". Không thể kết nối máy chủ cập nhật. [Ux11] Lỗi trong mô tả mô-đun "#MODULE#".
Không thể kết nối với máy chủ cập nhật sau khi nâng cấp lên PHP 8.1. Trang web hoạt động nhưng cập nhật không thành công.
Giải pháp:
Mở tập tin:
/bitrix/mô-đun/<
. Thay thế:
tên_mô-đun
>/install/index.php
hàm ()với:
hàm __construct()
Tập lệnh gặp lỗi và sẽ bị hủy. Để xem các thông báo lỗi mở rộng, hãy bật tính năng này trong .settings.php
Giải pháp:
Kết nối với FTP/SFTP hoặc đăng nhập vào bảng điều khiển lưu trữ và bật đầu ra lỗi trong
/bitrix/.settings.php
:
'gỡ lỗi' => đúng,
Sau đó, bạn sẽ thấy văn bản thông báo lỗi trên trang web.
Ví dụ về văn bản thông báo lỗi
Phương thức không tĩnh Super\Functions\CSuperModRep::checkBack() không thể được gọi tĩnh (0) /home/bitrix/modules/super.mod/lib/functions/CSuperModRep.php:52 #0: Super\Functions\CSuperModRep::checkRepActive() /home/bitrix/modules/super.mod/classes/general/CModEvents.php:1621 #1: CModEvents::OnPageStartHandler() /home/bitrix/modules/main/classes/general/module.php:480 #2: Thực thiModuleEventEx(array) /home/bitrix/modules/main/include.php:163 #3: require_once(string) /home/bitrix/modules/main/include/prolog_Before.php:14 #4: require_once(string) /home/bitrix/modules/main/include/prolog.php:10 #5: require_once(string) /home/bitrix/header.php:1 #6: require(string) /home/index.php:1
Trong ví dụ này, phương pháp của bên thứ ba
CSuperModRep::checkBack()
của
siêu.mod.
giải pháp đưa ra lỗi.
Để khắc phục lỗi, trong
checkBack()
mã, bạn cần khai báo
hàm tĩnh
.
Thay thế
hàm checkBack()
bởi
hàm tĩnh công khai checkBack()
Lỗi nghiêm trọng của PHP: $GLOBALS chỉ có thể được sửa đổi bằng cách sử dụng cú pháp $GLOBALS[$name] = $value trong /www/bitrix/modules/main/tools.php
Lỗi này có thể xuất hiện sau khi nâng cấp lên PHP 8.1x nếu bạn chưa cài đặt các bản cập nhật nền tảng có sẵn khi sử dụng phiên bản PHP 7.x.
Giải pháp:
Sự cố này đã được khắc phục trong bản cập nhật mô-đun chính
chính 22.100.0
.
Hạ cấp xuống phiên bản PHP 7.x trước đó, nhận tất cả các bản cập nhật được đề xuất và sau đó nâng cấp lại lên PHP 8.x.
[TypeError] call_user_func_array(): Đối số #1 ($callback) phải là một cuộc gọi lại hợp lệ, phương thức không tĩnh COMP\BXE\EventHandlers::AdminContextMenuShow() không thể được gọi tĩnh (0)...
Lỗi này có thể xuất hiện sau khi nâng cấp lên PHP 8.1x nhưng không rõ ràng:
Ví dụ về văn bản thông báo lỗi
[TypeError] call_user_func_array(): Đối số #1 ($callback) phải là một cuộc gọi lại hợp lệ, phương thức không tĩnh COMP\BXE\EventHandlers::AdminContextMenuShow() không thể được gọi tĩnh (0) /var/www//bitrix/modules/main/classes/general/module.php:480 #0: Thực thiModuleEventEx /var/www/bitrix/modules/main/interface/admin_ui_list.php:1983 #1: CAdminUiContextMenu->Show /var/www/bitrix/modules/main/interface/admin_ui_list.php:1168 #2: CAdminUiList->ShowContext /var/www/bitrix/modules/main/interface/admin_ui_list.php:630 #3: CAdminUiList->DisplayFilter /var/www/bitrix/modules/iblock/admin/iblock_element_admin.php:5217 #4: include(string) /var/www/bitrix/admin/cat_product_admin.php:3
Văn bản thông báo lỗi không hiển thị thư mục mô-đun, nhưng phương pháp này
COMP\BXE\EventHandlers::AdminContextMenuShow()
thuộc về mô-đun của bên thứ ba.
Giải pháp:
Để khắc phục lỗi, trong
Quản trịContextMenuShow()
mã, bạn cần khai báo
hàm tĩnh
một cách chính xác.
Thay thế
hàm AdminContextMenuShow()
bởi
hàm tĩnh công khai AdminContextMenuShow()
Màn hình trắng trống sau khi nâng cấp lên PHP 8.1x
Lỗi này có thể xuất hiện do cài đặt
short_open_tag = Tắt
tham số trong cài đặt PHP.
Giải pháp:
-
Đặt giá trị này trong tệp cấu hình PHP:
short_open_tag=Bật. -
Kiểm tra nhật ký máy chủ web để tìm bất kỳ lỗi nào có thể xảy ra và sửa chúng.
-
Ngoài ra, bạn có thể kiểm tra lỗi trên trang bằng màn hình trắng trống: nhấp chuột phải vào trang và chọn Xem nguồn trang , cuộn xuống và kiểm tra xem có lỗi nào không.