Come potresti aver notato, c'è un avviso sul pannello di controllo del tuo Bitrix24 On-Premise:
Cosa significa questo?
La versione PHP 7.х è deprecata e non è più supportata. Non vengono rilasciate correzioni di bug funzionali o di sicurezza in nessuna delle versioni di PHP 7. Pertanto, non è consigliabile utilizzare alcuna versione di PHP inferiore alla 8.0.
Non è possibile installare alcun aggiornamento della versione On-Premise di Bitrix24 per ottenere nuove funzionalità, migliorare la sicurezza e le prestazioni del tuo sito Web finché non aggiorni la tua versione PHP almeno alla versione 8.0 o alla versione consigliata 8.1 nel tuo ambiente server virtuale.
Come aggiornare la versione PHP?
Bisogna pianificare un aggiornamento della tua versione PHP almeno alla versione 8.0 o alla versione consigliata 8.1 il prima possibile.
L'aggiornamento viene effettuato gradualmente. Contatta l'amministratore di sistema o il fornitore di servizi di hosting per assistenza.
-
Assicurati di aver eseguito il backup del tuo sito web. È possibile utilizzare lo strumento di backup integrato o creare un backup a livello di server.
-
Installa tutti gli aggiornamenti disponibili, fai clic su Control panel > Marketplace > Platform Update.
-
Aggiorna tutte le soluzioni di terze parti dal Marketplace alle ultime versioni disponibili nella sezione Control panel > Marketplace > Solution Update.
-
Aggiorna la tua versione PHP almeno alla versione 8.0 o alla versione consigliata 8.1
Se utilizzi BitrixVM, è possibile aggiornare PHP manualmente tramite la voce di menu: 1. Manage servers in the pool - 8. Update PHP and MySQL. Leggi di più in un corso singolo. - Controlla gli aggiornamenti disponibili della piattaforma e delle soluzioni Marketplace e assicurati di installarli tutti.
Cosa fare in caso di errori durante l'aggiornamento di PHP alla versione 8.x?
-
Se ci sono errori nel funzionamento dei moduli Bitrix24 standard On-Premise, si prega di contattare Supporto di Bitrix24.
Inoltre, se i moduli del Market contengono
bitrix.*
nei loro nomi, contatta il supporto di Bitrix24, ad esempio:bitrix.eshop bitrix.sitecommunity bitrix.sitecorporate bitrix.siteinfoportal bitrix.sitepersonal bitrix.learningtemplates
-
In caso di errori nel funzionamento dei moduli di terze parti installati dal Market, si prega di contattare lo sviluppatore del modulo. Puoi trovare i tuoi contatti nella scheda Supporto.
Errori comuni e loro soluzioni
Possibili cause di errori dopo l'aggiornamento a PHP 8.x:
- Non hai installato gli aggiornamenti disponibili nel Control panel > Marketplace > Platform Update prima di eseguire l'aggiornamento a PHP 8.x.
- Non hai installato gli aggiornamenti disponibili per le soluzioni di terze parti dal Market nel Control panel > Marketplace > Solution Update prima di eseguire l'aggiornamento a PHP 8.x.
- Lo sviluppatore non ha aggiornato il modulo per supportare la versione 8 di PHP.
Come risolvere i problemi comuni dopo l'aggiornamento a PHP 8.x?
- Passa alla versione precedente di PHP 7.x, installa tutti gli aggiornamenti consigliati e poi esegui nuovamente l'aggiornamento a PHP 8.x.
- Se l'installazione degli aggiornamenti non ti aiuta a risolvere i problemi, contatta lo sviluppatore del modulo – segui le istruzioni nella sezione Cosa fare in caso di errori?.
- Disabilita temporaneamente il modulo che contiene errori rimuovendolo dalla directory
/bitrix/modules
. - Rimuovi la soluzione di terze parti che contiene errori.
Si prega di notare che queste raccomandazioni sono fornite per risolvere i problemi nel funzionamento di un modulo specifico. Ogni bug viene esaminato individualmente dallo sviluppatore.
[Ux11] Error in the "#MODULE#" module description. Cannot connect the update server. [Ux11] Error in the "#MODULE#" module description.
Questo errore può apparire dopo l'aggiornamento della versione PHP a 8.0 o superiore. In questo caso, il sito Web funziona correttamente, ma non è possibile installare o aggiornare qualsiasi altra soluzione fino a quando il problema non viene risolto.
Soluzione:
Per correggere l'errore, apri il file /bitrix/modules/<module_name>/install/index.php
e sostituisci il codice:
function <module_name>()con un altro codice:
function __construct()
The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.
Soluzione:
Connettiti a FTP/SFTP o accedi al pannello di controllo dell'hosting e abilita l'output di errore nel file /bitrix/.settings.php
:
'debug' => true,
Successivamente, il testo del messaggio di errore verrà visualizzato sul sito Web.
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
In questo esempio, l'errore viene restituito dal metodo di terze parti CSuperModRep::checkBack()
della soluzione super.mod.
Per correggere l'errore, nel codice checkBack()
è necessario dichiarare la funzione statica::
function checkBack()sostituire con:
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
Questo errore può apparire dopo l'aggiornamento di PHP alla versione 8.x se non sono stati installati gli aggiornamenti della piattaforma disponibili quando utilizzi la versione PHP 7.x.
Soluzione:
Questo bug è stato corretto nell'aggiornamento del modulo principale main 22.100.0
.
Passa alla versione precedente di PHP 7.x, installa tutti gli aggiornamenti consigliati e poi esegui nuovamente l'aggiornamento a PHP 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)...
Questo errore può apparire dopo aver aggiornato PHP alla versione 8, ma non è ovvio.
[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
Il testo del messaggio di errore non mostra la directory del modulo, ma questo metodo COMP\BXE\EventHandlers::AdminContextMenuShow()
appartiene al modulo di terze parti.
Soluzione:
Per correggere l'errore, nel codice AdminContextMenuShow()
è necessario dichiarare la funzione statica:
function AdminContextMenuShow()sostituire con:
public static function AdminContextMenuShow()
Una schermata vuota dopo l'aggiornamento a PHP 8.х (nella versione PHP 7.4 funziona tutto)
Questo errore può apparire a causa delle impostazioni dei parametri short_open_tag = Off
.
Soluzione:
- Nel file di configurazione PHP, imposta il valore
short_open_tag = On
. - Controlla i registri del server Web per eventuali errori e correggerli.
- Inoltre, è possibile controllare gli errori sulla pagina con la schermata vuota: Fare clic con il tasto destro sulla pagina e seleziona Visualizza il codice sorgente della pagina, scorri verso il basso e verifica se ci sono errori.