Przeczytaj FAQ
Nowości Bitrix24
Aktualizacje artykułów
Jak zacząć?
Wsparcie Bitrix24
Aktualności
Rejestracja i autoryzacja
Zadania i projekty
Komunikator Bitrix24
Grupy robocze
Kalendarze
Zarządzanie asortymentem produktów
Dysk
Baza Wiedzy
Poczta internetowa
Automatyzacja
CRM
Analityka CRM
Marketing CRM
Centrum Sprzedaży
Firma
Strony internetowe
Sklep online
Bitrix24.Market
Centrum Kontaktowe
Telefonia
Workflow
Aplikacja mobilna
Ustawienia
Bitrix24 On-premise
Subskrypcja
AI CoPilot
Aplikacja desktopowa
CRM + Sklep internetowy
Enterprise
Mój profil
Sales Intelligence
Wsparcie aplikacji mobilnej Bitrix24
Logowanie

Bitrix24Care

Aktualizacja do PHP 8.x w wersji Bitrix24 On-Premise

on-premise

W interfejsie administracyjnym Bitrix24 On-Premise możesz otrzymać następujące powiadomienie:

Od 01.02.2023 będziemy mieć ograniczone wsparcie dla naszych produktów, które działają na wersjach PHP poniżej 8.1. Zalecana jest wersja PHP 8.1 lub wyższa. Obecnie używasz PHP 7.4.33. Zaplanuj aktualizację PHP lub skontaktuj się z pomocą techniczną usługi hostingowej.

Co oznacza ten błąd

Wersja PHP 7.x została uznana za przestarzałą i nie jest już obsługiwana. Poprawki błędów funkcjonalnych i bezpieczeństwa również nie są już wydawane.

Zdecydowanie nie zaleca się używania PHP poniżej wersji 8.

Nie będziesz mógł instalować aktualizacji dla wersji Bitrix24 On-Premise w celu naprawienia błędów i uzyskania nowych funkcji, dopóki nie zaktualizujesz PHP do wersji 8.1 w swoim środowisku serwerowym.


Co robić

Zaplanuj jak najszybszą aktualizację PHP do wersji 8.1.

Aktualizacja wersji PHP musi odbywać się etapami. W tym celu skontaktuj się z administratorem systemu lub pomocą techniczną swojej usługi hostingowej.

  1. Utwórz kopię zapasową instalacji. Może to być kopia zapasowa usług produktu lub pełna kopia zapasowa serwera, na przykład kopia zapasowa VMBitrix Virtual Appliance.
  2. Zaktualizuj jądro i wszystkie moduły produktu do najnowszych dostępnych wersji w Settings> Marketplace> Platform Update.
  3. Zaktualizuj wszystkie rozwiązania innych firm z Marketplace do najnowszych dostępnych wersji w Settings> Marketplace> Solution Update.
  4. Zaktualizuj PHP do wersji 8.1 na swoim serwerze.
  5. Jeśli używasz Virtual Appliance VMBitrix, możesz zaktualizować PHP za pomocą menu VMBitrix: 1. Manage servers in the pool - 8. Update PHP and MySQL. Czytaj więcej w kursie edukacyjnym.
  6. Sprawdź ponownie wszystkie wprowadzone ustawienia i zainstaluj wszystkie dostępne aktualizacje platformy i rozwiązań Marketplace.


Kto może pomóc, jeśli wystąpią błędy po aktualizacji do PHP 8.x

  • Jeśli po aktualizacji PHP pojawią się jakiekolwiek błędy w standardowych modułach Bitrix24 On-Premise, skontaktuj się ze Wsparciem24.
  • Skontaktuj się również ze Wsparciem24, jeśli w modułach Marketplace pojawią się błędy, które zawierają bitrix.* w nazwach.
  • bitrix.eshop
            bitrix.sitecommunity
            bitrix.sitecorporate
            bitrix.siteinfoportal
            bitrix.sitepersonal
            bitrix.learningtemplates
  • W przypadku błędów w modułach innych firm z Marketplace skontaktuj się z twórcami tych modułów, ich kontakty są wymienione na stronie modułu w sekcji "Support".

Przykłady typowych błędów i ich rozwiązania

Możliwe przyczyny błędów po aktualizacji do PHP 8.x
  • Przed aktualizacją do PHP 8.х jądro systemu i wszystkie moduły produktu nie zostały zaktualizowane do najnowszych dostępnych wersji w sekcji Settings> Marketplace> Platform Update.
  • Przed przejściem do wersji PHP 8.х rozwiązania innych firm (mają kropkę w nazwie) nie zostały zaktualizowane w sekcji Settings> Marketplace> Solution Update.
  • Deweloper nie zaktualizował modułu do obsługi PHP 8.

Podstawowe kroki rozwiązywania problemów po aktualizacji PHP do wersji 8.x
  • Wróć do poprzedniej wersji PHP 7.x, kiedy wszystko działało, zaktualizuj komponenty systemu i moduły innych firm, a następnie ponownie zaktualizuj PHP do wersji 8.x.
  • Jeśli poprzednie kroki nie naprawiły błędów, skontaktuj się z twórcą modułu - patrz sekcję Kto może pomóc, jeśli wystąpią błędy.
  • Tymczasowo wyłącz moduł z błędem, przenosząc go z katalogu /bitrix/modules.
  • Usuń rozwiązanie innej firmy z błędem.
W przykładach podane są tylko rozwiązania błędów dla konkretnego modułu. Każdy błąd powinien być rozpatrywany przez programistę indywidualnie.

[Ux11] Błąd w opisie modułu "name.module". Brak połączenia z serwerem aktualizacji. [Ux11] Błąd w opisie modułu "name.module". (Cannot connect the update server)

Błąd może pojawić się po aktualizacji wersji PHP do wersji 8.1 i wyższej. Witryna nadal działa, ale nie można instalować ani aktualizować innych rozwiązań, dopóki błąd występuje.

Rozwiązanie problemu:

Aby naprawić błąd, wykonaj następujące czynności: w pliku /bitrix/modules/<nazwa modułu>/install/index.php zamień kod:

function <nazwa.moduł>()
zamień na:
function __construct()

Uruchamianie skryptu się nie powiodło (The script encountered an error and will be aborted). Włączyć szczegółowe komunikaty o błędach można w pliku ustawień .settings.php.

Rozwiązanie problemu:

Połącz się przez FTP/SFTP lub uzyskaj dostęp do panelu hostingu i włącz raportowanie błędów w pliku /bitrix/.settings.php:

'debug' => true,

Następnie tekst błędu zostanie wyświetlony na stronie:

Przykład błędu
Non-static method Super\Functions\CSuperModRep::checkBack() cannot be called statically (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: ExecuteModuleEventEx(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

Przykład pokazuje, że błąd jest spowodowany przez metodę innej firmy CSuperModRep::checkBack() rozwiązania super.mod.

Aby naprawić błąd, wykonaj następujące czynności: w kodzie checkBack() musisz poprawnie zadeklarować funkcję statyczną:

function checkBack()
zamień na:
 public static function checkBack()

PHP Fatal error: $GLOBALS can only be modified using the $GLOBALS[$name] = $value syntax in /www/bitrix/modules/main/tools.php

Ten błąd może pojawić się po aktualizacji PHP do wersji 8.x, jeśli wszystkie dostępne aktualizacje platformy nie zostały zainstalowane w wersji PHP 7.x.

Rozwiązanie problemu:

Ten błąd został naprawiony w aktualizacji modułu głównego main 22.100.0.

Dlatego cofnij wersję PHP do 7.x, zaktualizuj produkt i moduły do ​​najnowszej dostępnej wersji. Dopiero potem zaktualizuj PHP do wersji 8.x.

[TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method COMP\BXE\EventHandlers::AdminContextMenuShow() cannot be called statically (0)...

Ten błąd może pojawić się po aktualizacji wersji PHP do wersji 8, ale nie jest już tak oczywisty:

Przykład błędu
[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method COMP\BXE\EventHandlers::AdminContextMenuShow() cannot be called statically (0)
/var/www//bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx
/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

Tekst błędu nie ujawnia od razu ścieżki modułu, ale ta metoda COMP\BXE\EventHandlers::AdminContextMenuShow() należy do modułu innej firmy.

Rozwiązanie problemu:

Aby naprawić błąd, wykonaj następujące czynności: w kodzie AdminContextMenuShow() poprawnie zadeklaruj funkcję statyczną:

function AdminContextMenuShow()
zamień na:
public static function AdminContextMenuShow()

Biały ekran po aktualizacji wersji PHP do 8.x, ale wszystko działa na PHP 7.4

Ten błąd może się pojawić, ponieważ parametr short_open_tag = Off jest ustawiony w ustawieniach PHP.

Rozwiązanie problemu:

  • Musisz ustawić w pliku konfiguracyjnym PHP: short_open_tag = On.
  • Sprawdź pliki dziennika serwera WWW i popraw błędy.
  • Możesz również wyświetlić błędy na stronie internetowej z białym ekranem: kliknij prawym przyciskiem myszy i wybierz Wyświetl źródło strony. Przewiń stronę w dół i sprawdź, czy nie ma błędów.

Czy te informacje były pomocne?
Pomoc specjalisty ds. integracji
To nie jest to, czego szukam
Skomplikowany i niezrozumiały tekst
Informacje są nieaktualne
Artykuł jest za krótki. Potrzebuję więcej informacji
Nie podoba mi się sposób działania tego narzędzia
Przejdź do Bitrix24
Nie masz konta? Utwórz za darmo